QulacsCircuit¶
- class QulacsCircuit¶
Qulacs-based quantum circuit implementation.
Wraps
QuantumCircuitandObservablefrom Qulacs to satisfy the circuit protocol interface required by QAOA circuit construction.Methods
Apply a CNOT gate with control qubit i and target qubit j.
Apply a Hadamard gate to qubit i.
Apply a Hamiltonian evolution gate
exp(-i * value * H).Apply an Rx rotation gate to qubit i.
Apply an Ry rotation gate to qubit i.
Apply a Pauli-X gate to qubit i.
Create a new Qulacs
QuantumCircuitwith num_qubits qubits.Return the observable implementation class used by this circuit.
Attributes
Underlying Qulacs
QuantumCircuitobject.Number of qubits in the circuit.
- class ObservableImpl¶
Observable builder backed by
Observablefrom Qulacs.Accumulates Pauli-X and Pauli-Z terms to construct a Hamiltonian used as the generator of a unitary rotation gate.
- add_pauli_x(num_qubits: int, bit_index: int, value: float) Self¶
- add_pauli_x(num_qubits: int, bit_index: Iterable[int], value: float) Self
Add a weighted Pauli-X term acting on the specified qubit(s).
- add_pauli_z(num_qubits: int, bit_index: int, value: float) Self¶
- add_pauli_z(num_qubits: int, bit_index: Iterable[int], value: float) Self
Add a weighted Pauli-Z term acting on the specified qubit(s).
- static construct_observable(num_qubits: int) Observable¶
Return an empty
Observableover num_qubits qubits.- Parameters:
num_qubits (int) – Number of qubits in the observable.
- Returns:
An empty Qulacs
Observableover num_qubits qubits.- Return type:
Observable
- get_raw() Observable¶
Return the underlying Qulacs
Observable.
- T_circuit¶
alias of
QuantumCircuit
- T_obs¶
alias of
Observable
- add_h_gate(i: int) Self¶
Apply a Hadamard gate to qubit i.
- Parameters:
i (int) – Target qubit index.
- Returns:
This instance, for chaining.
- Return type:
Self
- add_observable_rotation_gate(op_f: SupportsHam[QulacsCircuit.T_obs], value: float, num_qubits: int) Self¶
Apply a Hamiltonian evolution gate
exp(-i * value * H).
- add_x_gate(i: int) Self¶
Apply a Pauli-X gate to qubit i.
- Parameters:
i (int) – Target qubit index.
- Returns:
This instance, for chaining.
- Return type:
Self
- static construct_quantum_circuit(num_qubits: int) QuantumCircuit¶
Create a new Qulacs
QuantumCircuitwith num_qubits qubits.- Parameters:
num_qubits (int) – Number of qubits.
- Returns:
An empty Qulacs
QuantumCircuitover num_qubits qubits.- Return type:
QuantumCircuit
- classmethod get_observable_class() type[ObservableImpl]¶
Return the observable implementation class used by this circuit.
- property circuit: QuantumCircuit¶
Underlying Qulacs
QuantumCircuitobject.