loom.cliffordsim.operations.gate_operation
Copyright 2024 Entropica Labs Pte Ltd
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
- class loom.cliffordsim.operations.gate_operation.CNOT(control_qubit, target_qubit)[source]
Bases:
TwoQubitGateOperationThe CNOT gate operation. Acts on two qubits, the control and target qubits.
-
name:
str= 'CNOT'
-
name:
- class loom.cliffordsim.operations.gate_operation.CY(control_qubit, target_qubit)[source]
Bases:
TwoQubitGateOperationThe CY gate operation. Acts on two qubits, the control and target qubits.
-
name:
str= 'CY'
-
name:
- class loom.cliffordsim.operations.gate_operation.CZ(control_qubit, target_qubit)[source]
Bases:
TwoQubitGateOperationThe CZ gate operation. Acts on two qubits, the control and target qubits.
-
name:
str= 'CZ'
-
name:
- class loom.cliffordsim.operations.gate_operation.GateOperation[source]
Bases:
OperationOperations of this type perform quantum gate operations on qubits within the Engine during runtime.
- abstract property operating_qubit
Returns a list of qubits that the gate operation acts on.
-
operation_type:
str= 'QuantumGate'
- with_ccontrol(reg_name, bit_order=None, bit_id=None)
This method returns a ControlledOperation wrapped version of the Operation class. The wrapped Operation class is classically controlled by the bit from the classical register specified by reg_name in bit_order or by bit_id.
NOTE: ControlledOperation(s) can only be conditioned on one classical bit.
- class loom.cliffordsim.operations.gate_operation.Hadamard(target_qubit)[source]
Bases:
OneQubitGateOperationThe Hadamard gate operation. Acts on a single qubit.
-
name:
str= 'Hadamard'
-
name:
- class loom.cliffordsim.operations.gate_operation.Identity(target_qubit)[source]
Bases:
OneQubitGateOperationThe Identity gate operation. It does nothing to the qubit.
-
name:
str= 'Identity'
-
name:
- class loom.cliffordsim.operations.gate_operation.OneQubitGateOperation(target_qubit)[source]
Bases:
GateOperationA gate operation that acts on a single qubit.
- property operating_qubit
Returns a list of qubits that the gate operation acts on.
-
target_qubit:
int
- class loom.cliffordsim.operations.gate_operation.Phase(target_qubit)[source]
Bases:
OneQubitGateOperationThe Phase gate operation. Acts on a single qubit.
-
name:
str= 'Phase'
-
name:
- class loom.cliffordsim.operations.gate_operation.PhaseInv(target_qubit)[source]
Bases:
OneQubitGateOperationThe Phase Inverse gate operation. Acts on a single qubit.
-
name:
str= 'PhaseInv'
-
name:
- class loom.cliffordsim.operations.gate_operation.SWAP(control_qubit, target_qubit)[source]
Bases:
TwoQubitGateOperationThe SWAP gate operation. Acts on two qubits, swapping their states.
-
name:
str= 'SWAP'
-
name:
- class loom.cliffordsim.operations.gate_operation.TwoQubitGateOperation(control_qubit, target_qubit)[source]
Bases:
GateOperationA gate operation that acts on two qubits.
-
control_qubit:
int
- property operating_qubit
Returns a list of qubits that the gate operation acts on.
-
target_qubit:
int
-
control_qubit:
- class loom.cliffordsim.operations.gate_operation.X(target_qubit)[source]
Bases:
OneQubitGateOperationThe Pauli-X gate operation. Acts on a single qubit.
-
name:
str= 'X'
-
name:
- class loom.cliffordsim.operations.gate_operation.Y(target_qubit)[source]
Bases:
OneQubitGateOperationThe Pauli-Y gate operation. Acts on a single qubit.
-
name:
str= 'Y'
-
name:
- class loom.cliffordsim.operations.gate_operation.Z(target_qubit)[source]
Bases:
OneQubitGateOperationThe Pauli-Z gate operation. Acts on a single qubit.
-
name:
str= 'Z'
-
name: