quri_parts.tensornetwork.circuit.gates module¶
- class TensorNetworkQuantumGate(unitary_matrix, qubit_indices, name, backend, conjugate=False)¶
Bases:
Node,ABCTensorNetworkQuantumGateclass is a base class that wrapsNode.- Parameters:
unitary_matrix (npt.NDArray[np.complex128])
qubit_indices (Sequence[int])
name (str)
backend (str)
conjugate (bool)
- abstract copy(conjugate=False)¶
- Parameters:
conjugate (bool)
- Return type:
- abstract property input_qubit_edge_mapping: Mapping[int, Edge]¶
- abstract property output_qubit_edge_mapping: Mapping[int, Edge]¶
- class SingleQubitGate(data, qubit_indices, name, backend, conjugate=False)¶
Bases:
TensorNetworkQuantumGate,ABCSingleQubitGateclass is a base class that facilitates one qubit gates.- Parameters:
data (Sequence[Sequence[complex]])
qubit_indices (Sequence[int])
name (str)
backend (str)
conjugate (bool)
- property input_qubit_edge_mapping: Mapping[int, Edge]¶
- property output_qubit_edge_mapping: Mapping[int, Edge]¶
- class SingleQubitRotationGate(angles, qubit_indices, name, backend)¶
Bases:
TensorNetworkQuantumGate,ABCSingleQubitRotationGateclass is a base class that facilitates single qubit rotation gates.- Parameters:
angles (Sequence[float])
qubit_indices (Sequence[int])
name (str)
backend (str)
- abstract rotation(angles)¶
- Parameters:
angles (Sequence[float])
- Return type:
ndarray[Any, dtype[complex128]]
- property input_qubit_edge_mapping: Mapping[int, Edge]¶
- property output_qubit_edge_mapping: Mapping[int, Edge]¶
- class SingleQubitPauliRotationGate(angle, qubit_indices, name, backend)¶
Bases:
SingleQubitRotationGate,ABCSingleQubitPauliRotationGateclass is a base class that facilitates single qubit Pauli rotation gates.- Parameters:
angle (float)
qubit_indices (Sequence[int])
name (str)
backend (str)
- pauli: Sequence[Sequence[complex]]¶
- rotation(angles)¶
- Parameters:
angles (Sequence[float])
- Return type:
ndarray[Any, dtype[complex128]]
- class TwoQubitGate(data, qubit_indices, name, backend, conjugate=False)¶
Bases:
TensorNetworkQuantumGate,ABCTwoQubitGateclass is a base class that facilitates two qubit gates.- Parameters:
data (Sequence[Sequence[Sequence[Sequence[complex]]]])
qubit_indices (Sequence[int])
name (str)
backend (str)
conjugate (bool)
- property input_qubit_edge_mapping: Mapping[int, Edge]¶
- property output_qubit_edge_mapping: Mapping[int, Edge]¶
- class ThreeQubitGate(data, qubit_indices, name, backend, conjugate=False)¶
Bases:
TensorNetworkQuantumGate,ABCThreeQubitGateclass is a base class that facilitates three qubit gates.- Parameters:
data (Sequence[Sequence[Sequence[Sequence[Sequence[Sequence[complex]]]]]])
qubit_indices (Sequence[int])
name (str)
backend (str)
conjugate (bool)
- property input_qubit_edge_mapping: Mapping[int, Edge]¶
- property output_qubit_edge_mapping: Mapping[int, Edge]¶
- class I(qubit_indices, backend='numpy')¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
- class X(qubit_indices, backend='numpy')¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
- class Y(qubit_indices, backend='numpy', conjugate=False)¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
conjugate (bool)
- class Z(qubit_indices, backend='numpy')¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
- class H(qubit_indices, backend='numpy')¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
- class S(qubit_indices, backend='numpy', conjugate=False)¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
conjugate (bool)
- class Sdag(qubit_indices, backend='numpy', conjugate=False)¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
conjugate (bool)
- class SqrtX(qubit_indices, backend='numpy', conjugate=False)¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
conjugate (bool)
- class SqrtXdag(qubit_indices, backend='numpy', conjugate=False)¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
conjugate (bool)
- class SqrtY(qubit_indices, backend='numpy', conjugate=False)¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
conjugate (bool)
- class SqrtYdag(qubit_indices, backend='numpy', conjugate=False)¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
conjugate (bool)
- class SqrtZ(qubit_indices, backend='numpy', conjugate=False)¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
conjugate (bool)
- class SqrtZdag(qubit_indices, backend='numpy', conjugate=False)¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
conjugate (bool)
- class T(qubit_indices, backend='numpy', conjugate=False)¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
conjugate (bool)
- class Tdag(qubit_indices, backend='numpy', conjugate=False)¶
Bases:
SingleQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
conjugate (bool)
- class Rx(angle, qubit_indices, backend='numpy')¶
Bases:
SingleQubitPauliRotationGate- Parameters:
angle (float)
qubit_indices (Sequence[int])
backend (str)
- pauli: Sequence[Sequence[complex]] = [[0.0, 1.0], [1.0, 0.0]]¶
- class Ry(angle, qubit_indices, backend='numpy')¶
Bases:
SingleQubitPauliRotationGate- Parameters:
angle (float)
qubit_indices (Sequence[int])
backend (str)
- pauli: Sequence[Sequence[complex]] = [[0.0, 1j], [(-0-1j), 0.0]]¶
- class Rz(angle, qubit_indices, backend='numpy')¶
Bases:
SingleQubitPauliRotationGate- Parameters:
angle (float)
qubit_indices (Sequence[int])
backend (str)
- pauli: Sequence[Sequence[complex]] = [[1.0, 0.0], [0.0, -1.0]]¶
- class U1(angles, qubit_indices, backend='numpy')¶
Bases:
SingleQubitRotationGate- Parameters:
angles (Sequence[float])
qubit_indices (Sequence[int])
backend (str)
- rotation(angles)¶
- Parameters:
angles (Sequence[float])
- Return type:
ndarray[Any, dtype[complex128]]
- class U2(angles, qubit_indices, backend='numpy')¶
Bases:
SingleQubitRotationGate- Parameters:
angles (Sequence[float])
qubit_indices (Sequence[int])
backend (str)
- rotation(angles)¶
- Parameters:
angles (Sequence[float])
- Return type:
ndarray[Any, dtype[complex128]]
- class U3(angles, qubit_indices, backend='numpy')¶
Bases:
SingleQubitRotationGate- Parameters:
angles (Sequence[float])
qubit_indices (Sequence[int])
backend (str)
- rotation(angles)¶
- Parameters:
angles (Sequence[float])
- Return type:
ndarray[Any, dtype[complex128]]
- class CNOT(qubit_indices, backend='numpy')¶
Bases:
TwoQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
- class CZ(qubit_indices, backend='numpy')¶
Bases:
TwoQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
- class SWAP(qubit_indices, backend='numpy')¶
Bases:
TwoQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)
- class Toffoli(qubit_indices, backend='numpy')¶
Bases:
ThreeQubitGate- Parameters:
qubit_indices (Sequence[int])
backend (str)