monoprop

qiskit_conversion

Module to convert qiskit objects.

attributePAULI_EVOLUTION_EQUIVALENT
= {'rx', 'ry', 'rz', 'rxx', 'ryy', 'rzz', 'rxy', 'rxz', 'ryz'}
attributeVALID_PAULI_GATES
= PAULI_EVOLUTION_EQUIVALENT.union({'PauliEvolution'})
funcfrom_qiskit_operator(qiskit_op, *, atol=1e-08, force_real=False) -> PauliOperator

Convert a Qiskit operator to a PauliOperator.

Returns: A PauliOperator instance representing the given operator.

paramqiskit_opSparsePauliOp

A qiskit Pauli operator.

paramatolfloat
= 1e-08

Absolute tolerance for cutoff with qiskit's simplify()

paramforce_realbool
= False

Cast operator coefficients as real values. Default is False

Returns

monoprop.pauli.PauliOperator
functo_qiskit_operator(pauli_dict) -> SparsePauliOp

Convert a dictionary of Pauli strings with their coefficients to a Qiskit operator.

parampauli_dictdict[str, complex] | dict[str, float]

A dictionary of Pauli strings with their coefficients, in the right qubit order.

Returns

qiskit.quantum_info.SparsePauliOp

the Qiskit operator.

funcfrom_qiskit_circuit(circuit, initial_state) -> Circuit

Convert a Qiskit circuit to a :class:~monoprop.circuit.Circuit.

Note that the qiskit circuit must be composed only by PauliEvolutionGates with commuting operators. Each qiskit gate becomes one qubit :class:~monoprop.circuit.ExpGate driven by its own angle (the identity parameter mapping).

paramcircuitQuantumCircuit

A qiskit quantum circuit.

paraminitial_statelist[int]

Initial quantum state as a list of integers.

Returns

monoprop.circuit.Circuit

class:~monoprop.circuit.Circuit representing the given circuit.

functo_qiskit_circuit(circuit, num_qubits) -> QuantumCircuit

Convert a :class:~monoprop.circuit.Circuit to a Qiskit circuit.

Note that the resulting qiskit circuit will be composed only by PauliEvolutionGates with commuting operators. Each gate's evolution time is taken from the circuit's parameters via its parameter mapping.

paramcircuitCircuit

A :class:~monoprop.circuit.Circuit representing the given circuit.

paramnum_qubitsint

Total number of qubits (the circuit no longer carries it; supply the observable's num_qubits).

Returns

qiskit.QuantumCircuit

A qiskit quantum circuit.