Haiqu.statevector_run(circuits, job_name=None, job_description=None)
Run quantum circuits on a statevector simulator and obtain exact amplitudes of the wavefunctions. For the behaviour before 1.7.0, which returned aRunJobModel, use Legacy.statevector_run()
(haiqu.legacy.statevector_run).
This execution type is restricted to non-parametrized circuits up to 24 qubits in size. Circuits may contain
Haiqu gates, but no mid-circuit measurements or other logical operations. Final measurements are mandatory, but ignored:
the statevector is measured over all qubits in their standard Qiskit order.
The returned amplitude ordering matches the indexing convention used by amplitude-based data loaders
(vector_loading(), block_vector_loading(), function_loading(),
distribution_loading(), mps_loading()): index i corresponds to the computational-basis
ket whose binary label has rightmost bit = qubit 0.
- Parameters:
- circuits (QuantumCircuit | list *[*QuantumCircuit ] | CircuitModel | list *[*CircuitModel ]) — The quantum circuit(s) to execute. Can be a single circuit or a list of circuits.
- job_name (str | None) — The name for the job. If
None(default), a name will be automatically generated. - job_description (str | None) — The description for the job.
- Returns:
The Hybrid job that will execute the circuit.
: Call
job.result()to retrieve a list of complex-valued statevectors (one numpy array per input circuit), each of length2**num_qubitsin standard Qiskit ordering (rightmost bit = qubit 0). In a notebook, a link to the job on the Dashboard is also displayed whenhaiqu.verbosityis"high". - Return type: HybridJobModel