Skip to main content

Haiqu.statevector_run(circuits, job_name=None, job_description=None)

Run quantum circuits on a statevector simulator and obtain exact amplitudes of the wavefunctions. This execution type is restricted to non-parametrized circuits up to 20 qubits in size. Circuits may contain Haiqu gates, but no mid-circuit measurements or other logical operations. Final measurements in the circuit, if present, will be ignored. 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 Run 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 length 2**num_qubits in standard Qiskit ordering (rightmost bit = qubit 0). Final measurements in the input circuits, if any, are ignored. Run help(job.result) for the full description of result and info contents.
  • Return type: RunJobModel

Examples

Single circuit:
Multiple circuits: