quri_parts.circuit.transpile.multi_pauli_decomposer module

class PauliDecomposeTranspiler

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes multi-qubit Pauli gates into X, Y, 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]

rot_gates(rot_sign, indices, pauli_ids)
Parameters:
  • rot_sign (int)

  • indices (Sequence[int])

  • pauli_ids (Sequence[int])

Return type:

Sequence[QuantumGate]

class PauliRotationDecomposeTranspiler

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes multi-qubit PauliRotation gates into H, RX, RZ, 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 ParametricPauliRotationDecomposeTranspiler(*args, **kwargs)

Bases: ParametricCircuitTranspilerProtocol

CircuitTranspiler, which decomposes multi-qubit ParametricPauliRotation gates into H, RX, RZ, CNOT, and ParametricRZ gates.

static add_decomposed_gates(gate, circuit, param)
Parameters:
Return type:

None