qiskit_addon_qcbm.born_machine ============================== .. py:module:: qiskit_addon_qcbm.born_machine .. autoapi-nested-parse:: Define the Quantum Circuit Born Machine. Classes ------- .. autoapisummary:: qiskit_addon_qcbm.born_machine.QCBM qiskit_addon_qcbm.born_machine.MMD Module Contents --------------- .. py:class:: QCBM(num_qubits, num_layers, ansatz=None, data=None) Quantum Circuit Born Machine .. py:attribute:: num_layers .. py:attribute:: num_qubits .. py:attribute:: data :value: None .. py:method:: draw() Draw the QCBM circuit. .. py:method:: print() Provide the stats on the QCBM. .. py:method:: train(data=None, loss_fcn=None, num_iterations=10, num_shots=100, backend=FakeFez()) Train the QCBM. .. py:method:: compute_loss(params, ansatz_isa, sampler, loss_fcn, train_history, target_probs) Return the value of the loss function. :param params: Array of ansatz parameters :type params: ndarray :param ansatz_isa: Parameterized transpiled ansatz :type ansatz_isa: QuantumCircuit :param sampler: Sampler primitive instance :type sampler: SamplerV2 :param loss_fcn: Function using to compute the loss :type loss_fcn: python function :param train_history: Dictionary for storing intermediate results :type train_history: dict :param target_probs: the actual probability distribution :type target_probs: ndarray :returns: Scalar loss value :rtype: float .. py:method:: plot_compare_model_and_target_probs(x_max, target_probs, qcbm_probs) Compare the probabilities obtained with QCBM with the actual probability distribution. .. py:class:: MMD(rbf_sigmas, nparange_hilbert_dim) Maximum Mean Discrepancy .. py:attribute:: K .. py:attribute:: rbf_sigmas .. py:method:: k_expval(px, py) .. py:method:: mmd_loss(px, py)