quri_parts.circuit.transpile.gate_kind_decomposer module#

class CNOT2CZHTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes CNOT gates into sequences of H and CZ gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class CZ2CNOTHTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes CZ gates into sequences of H and CNOT gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class CZ2RXRYCNOTTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes CZ gates into sequences of RX, RY, and CNOT gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class H2RZSqrtXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes H gates into sequences of RZ and SqrtX gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class H2RXRYTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes H gates into sequences of RX and RY gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class Identity2RZTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which converts Identity gates into RZ gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class RX2RZSqrtXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes RX gates into sequences of RZ and SqrtX gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class RY2RZSqrtXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes RY gates into sequences of RZ and SqrtX gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class S2RZTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes S gates into of gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class Sdag2RZTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes Sdag gates into RZ gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class SqrtX2RXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which converts SqrtX gates into RX gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class SqrtX2RZHTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes SqrtX gates into sequences of RZ and H gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class SqrtXdag2RXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which converts SqrtXdag gates into RX gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class SqrtXdag2RZSqrtXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes SqrtXdag gates into sequences of RZ and SqrtX gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class SqrtY2RYTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which converts SqrtY gates into RY gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class SqrtY2RZSqrtXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes SqrtY gates into sequences of RZ and SqrtX gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class SqrtYdag2RYTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class SqrtYdag2RZSqrtXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes SqrtYdag gates into sequences of RZ and SqrtX gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class SWAP2CNOTTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes SWAP gates into sequences of CNOT gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class T2RZTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes T gates into RZ gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class Tdag2RZTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes Tdag gates into RZ gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class TOFFOLI2HTTdagCNOTTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes TOFFOLI gates into sequences of H, T, TDag, and CNOT gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class U1ToRZTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes U1 gates into RZ gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class U2ToRZSqrtXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes U2 gates into sequences of RZ and SqrtX gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class U2ToRXRZTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes U2 gates into sequences of RX and RZ gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class U3ToRZSqrtXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes U3 gates into sequences of RZ and SqrtX gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class U3ToRXRZTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes U3 gates into sequences of RX and RZ gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class X2HZTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes X gates into sequences of H and Z gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class X2RXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which converts X gates into RX gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class X2SqrtXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes X gates into sequences of SqrtX gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class Y2RZXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes Y gates into sequences of RZ and T gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class Y2RYTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which converts Y gates into RY gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class Z2RZTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes Z gates into RZ gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

class Z2HXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes Z gates into sequences of H and X gates.

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]