:py:mod:`kosmos.circuit_runner.qiskit_runner` ============================================= .. py:module:: kosmos.circuit_runner.qiskit_runner Classes ------- .. py:class:: QiskitRunner(backend: qiskit.providers.BackendV2, num_shots: int = 1024, gradient_method: kosmos.ml.models.vqc.circuit.qiskit_circuit.gradient_method.GradientMethod | None = None) Bases: :py:class:`kosmos.circuit_runner.circuit_runner.CircuitRunner` General Qiskit circuit runner. Initialize the Qiskit runner. :param backend: The backend to use. :type backend: Backend :param num_shots: Number of shots. Defaults to 1024. :type num_shots: int :param gradient_method: The gradient method to use when running VQCs. Uses ParameterShiftRule() if None. Defaults to None. :type gradient_method: GradientMethod | None | .. rubric:: Properties .. py:property:: framework The framework used by the circuit runner. | .. rubric:: Methods .. py:method:: run_sampler(circuits: list[qiskit.QuantumCircuit]) -> qiskit_ibm_runtime.RuntimeJobV2 Run circuits using Sampler primitive. :param circuits: The circuits to run. :type circuits: list[QuantumCircuit] :returns: The submitted job. :rtype: RuntimeJob .. py:method:: expectation_values(circuits: list[qiskit.QuantumCircuit]) -> list[numpy.ndarray] Compute Z-basis expectation values for the given circuits. :param circuits: The circuits to run. :returns: A list of arrays, where each array contains the expectation values for one circuit in the job. :rtype: list[np.ndarray] .. py:method:: get_gradient_method(parameterized_circuit: QiskitParameterizedCircuit) -> kosmos.ml.models.vqc.circuit.qiskit_circuit.gradient_method.GradientMethod Get the gradient method instance. :param parameterized_circuit: The Qiskit parameterized circuit. :type parameterized_circuit: QiskitParameterizedCircuit :returns: The gradient method instance. :rtype: GradientMethod ---- .. py:class:: AerSimulatorRunner(num_shots: int = 1024, gradient_method: kosmos.ml.models.vqc.circuit.qiskit_circuit.gradient_method.GradientMethod | None = None) Bases: :py:class:`QiskitRunner` Qiskit circuit runner using the AerSimulator using density matrix simulation. Initialize the AerSimulator runner. :param num_shots: Number of shots. Defaults to 1024. :type num_shots: int :param gradient_method: The gradient method to use when running VQCs. Uses ParameterShiftRule() if None. Defaults to None. :type gradient_method: GradientMethod | None | .. rubric:: Properties .. py:property:: framework The framework used by the circuit runner. ---- .. py:class:: IBMRuntimeRunner(qiskit_runtime_service: qiskit_ibm_runtime.QiskitRuntimeService, backend_name: str | None = None, min_num_qubits: int | None = None, num_shots: int = 1024, gradient_method: kosmos.ml.models.vqc.circuit.qiskit_circuit.gradient_method.GradientMethod | None = None) Bases: :py:class:`QiskitRunner` Qiskit circuit runner using an IBM Runtime backend. Initialize the IBM Runtime runner. :param qiskit_runtime_service: The Qiskit Runtime service instance. :type qiskit_runtime_service: QiskitRuntimeService :param backend_name: The name of the backend. Returns the least busy backend if None. Defaults to None. :type backend_name: str | None :param min_num_qubits: The minimum number of qubits. Defaults to None. :type min_num_qubits: int | None :param num_shots: Number of shots. Defaults to 1024. :type num_shots: int :param gradient_method: The gradient method to use when running VQCs. Uses ParameterShiftRule() if None. Defaults to None. :type gradient_method: GradientMethod | None | .. rubric:: Properties .. py:property:: framework The framework used by the circuit runner.