Skip to content

Machine Learning API Reference

Quantum Kernels

kernels

Quantum kernels (ZZ-feature-map, Havlicek et al. Nature 567, 2019).

Implements the ZZ feature map circuit and a quantum kernel SVM classifier for financial data classification tasks such as credit scoring and fraud detection.

References

Havlicek et al., Nature 567, 209-212 (2019), arXiv:1804.11326.

ZZFeatureMap

ZZ feature map circuit builder.

Encodes classical data x into a quantum state using single-qubit Z rotations and two-qubit ZZ entangling gates, repeated reps times.

build_circuit(x, n_qubits, reps=2) staticmethod

Build the ZZ feature map circuit for data vector x.

Parameters

x : array of shape (n_qubits,) Classical feature vector (values should be in [0, 2*pi]). n_qubits : int Number of qubits (must match len(x)). reps : int Number of repetitions of the feature map layer.

Returns

QuantumCircuit Qiskit circuit encoding x.

QuantumKernelClassifier dataclass

SVM classifier backed by a quantum kernel.

Wraps sklearn.svm.SVC with a precomputed quantum kernel matrix.

fit(X, y)

Fit the classifier on training data.

predict(X)

Predict class labels for X.

quantum_kernel(x1, x2, n_qubits, backend, reps=2)

Compute the quantum kernel value between two data points.

Uses statevector overlap: k(x1, x2) = |<0|U^dag(x2) U(x1)|0>|^2.

quantum_kernel_matrix(X, n_qubits, backend, reps=2)

Compute the full kernel matrix for dataset X.

Parameters

X : array of shape (n_samples, n_qubits) n_qubits : int backend : Backend reps : int

Returns

K : array of shape (n_samples, n_samples)

Classifiers

classifiers

Variational quantum classifiers for fraud detection.

Implements a parameterized variational quantum classifier (VQC) with angle encoding and a TwoLocal ansatz, trained via gradient-free optimization (COBYLA).

References

Schuld, Bocharov, Svore, Killoran, PRA 101, 032308 (2020).

VQCConfig dataclass

Configuration for a variational quantum classifier.

VariationalQuantumClassifier

Variational quantum classifier with angle encoding and TwoLocal ansatz.

Features are encoded via R_Y rotations. The ansatz alternates layers of R_Y / R_Z single-qubit rotations with a ladder of CNOT gates. The model is trained by minimising cross-entropy loss using a gradient-free optimizer (COBYLA by default).

build_circuit(x, params)

Build the full VQC circuit (encoding + ansatz).

Parameters

x : array of shape (n_qubits,) or smaller Feature vector for angle encoding. params : array Variational parameters.

Returns

QuantumCircuit

fit(X, y)

Train the VQC on labelled data.

Parameters

X : array of shape (n_samples, n_features) y : array of shape (n_samples,) with labels in {0, 1}

Returns

self

predict_proba(X)

Return class probabilities for each sample.

Returns array of shape (n_samples, 2) with columns [P(0), P(1)].

predict(X)

Predict class labels (0 or 1) for each sample.

Quantum GAN

qgan

qGANs for distribution loading (Zoufal et al., npj QI 5:103, 2019).

Implements a quantum Generative Adversarial Network where the generator is a parameterized quantum circuit and the discriminator is a classical neural network. The trained generator circuit can then be used to load arbitrary probability distributions into quantum states.

References

Zoufal, Lucchi, Woerner, npj Quantum Information 5:103 (2019), arXiv:1904.00043.

QGANConfig dataclass

Configuration for qGAN training.

QGANResult dataclass

Result from qGAN training.

QuantumGAN

Quantum GAN for distribution loading.

The generator is a TwoLocal-style parameterized quantum circuit. The discriminator is a simple classical neural network implemented with numpy (no torch/tensorflow dependency).

train()

Train the qGAN.

Uses finite-difference gradient estimation for the quantum generator and numpy-based SGD for the discriminator.

Reservoir Computing

reservoir

Quantum reservoir computing for volatility forecasting (arXiv:2505.13933).

Implements a quantum reservoir based on a transverse-field Ising Hamiltonian. Input data is encoded via single-qubit rotations, the reservoir dynamics evolve the state, and expectation values are extracted as features for a classical ridge-regression readout layer.

References

Li et al., arXiv:2505.13933 (2025).

QuantumReservoirConfig dataclass

Configuration for quantum reservoir computing.

QuantumReservoir

Quantum reservoir for time-series regression.

Uses a transverse-field Ising Hamiltonian as reservoir dynamics: H = -J sum_{} Z_i Z_j - h sum_i X_i

Input data is encoded via R_Y rotations, then reservoir layers apply ZZ couplings and transverse-field X rotations. Expectation values of Pauli-Z operators serve as the feature vector for a linear readout.

build_reservoir_circuit(input_data)

Build the reservoir circuit for a single input vector.

Parameters

input_data : array of shape (n_qubits,) or smaller Values are mapped to R_Y rotation angles.

Returns

QuantumCircuit

extract_features(input_data)

Extract feature vector from a single input via Z expectation values.

Returns array of shape (n_qubits,) with for each qubit.

fit(X_train, y_train)

Fit the linear readout layer on quantum reservoir features.

Parameters

X_train : array of shape (n_samples, n_features) y_train : array of shape (n_samples,)

Returns

self

predict(X_test)

Predict target values for X_test.