quri_parts.circuit.gate module#

class quri_parts.circuit.gate.QuantumGate(name: str, target_indices: Sequence[int], control_indices: Sequence[int] = (), classical_indices: Sequence[int] = (), params: Sequence[float] = (), pauli_ids: Sequence[int] = (), unitary_matrix: Sequence[Sequence[complex]] = ())#

Bases: NamedTuple

Non-parametric quantum gate.

Not intended for direct use. Every gate is created by factory methods. A QuantumGate object contains information of gate name, control qubit, target qubit, classical bits, parameters, and pauli ids.

name: str#

Alias for field number 0

target_indices: Sequence[int]#

Alias for field number 1

control_indices: Sequence[int]#

Alias for field number 2

classical_indices: Sequence[int]#

Alias for field number 3

params: Sequence[float]#

Alias for field number 4

pauli_ids: Sequence[int]#

Alias for field number 5

unitary_matrix: Sequence[Sequence[complex]]#

Alias for field number 6

class quri_parts.circuit.gate.ParametricQuantumGate(name: str, target_indices: Sequence[int], control_indices: Sequence[int] = (), pauli_ids: Sequence[int] = ())#

Bases: NamedTuple

Parametric quantum gate.

Not intended for direct use. Every gate is created through factory methods. A ParametricQuantumGate object contains information of gate name, control qubit, target qubit, and pauli ids.

name: str#

Alias for field number 0

target_indices: Sequence[int]#

Alias for field number 1

control_indices: Sequence[int]#

Alias for field number 2

pauli_ids: Sequence[int]#

Alias for field number 3