qiskit_addon_qcbm package

Submodules

qiskit_addon_qcbm.born_machine module

Define the Quantum Circuit Born Machine.

class MMD(rbf_sigmas, nparange_hilbert_dim)

Bases: object

Maximum Mean Discrepancy

k_expval(px, py)
mmd_loss(px, py)
class QCBM(num_qubits, num_layers, ansatz=None, data=None)

Bases: object

Quantum Circuit Born Machine

compute_loss(params, ansatz_isa, sampler, loss_fcn, train_history, target_probs)

Return the value of the loss function.

Parameters:
  • params (ndarray) – Array of ansatz parameters

  • ansatz_isa (QuantumCircuit) – Parameterized transpiled ansatz

  • sampler (SamplerV2) – Sampler primitive instance

  • loss_fcn (python function) – Function using to compute the loss

  • train_history (dict) – Dictionary for storing intermediate results

  • target_probs (ndarray) – the actual probability distribution

Returns:

Scalar loss value

Return type:

float

draw()

Draw the QCBM circuit.

plot_compare_model_and_target_probs(x_max, target_probs, qcbm_probs)

Compare the probabilities obtained with QCBM with the actual probability distribution.

print()

Provide the stats on the QCBM.

train(data=None, loss_fcn=None, num_iterations=10, num_shots=100, backend=<qiskit_ibm_runtime.fake_provider.backends.fez.fake_fez.FakeFez object>)

Train the QCBM.

qiskit_addon_qcbm.datasets module

Create datasets to model with a QCBM.

class MixtureGaussianData(x, mus, sigmas)

Bases: object

Create a Bimodal Normal Dataset.

classmethod mixture_gaussian_pdf(x, mus, sigmas)

Creates probability density values of a mixture of Normal distributions

Module contents

Primary QCBM functionality.