Quantum Evolution Kernel
The Quantum Evolution Kernel is a Python library designed for the machine learning community to help users design quantum-driven similarity metrics for graphs and to use them inside kernel-based machine learning algorithms for graph data.
The core of the library is focused on the development of a classification algorithm for molecular-graph dataset as it is presented in the published paper Quantum feature maps for graph machine learning on a neutral atom quantum processor(Journal Paper, arXiv).
Users setting their first steps into quantum computing will learn how to implement the core algorithm in a few simple steps and run it using the Pasqal Neutral Atom QPU. More experienced users will find this library to provide the right environment to explore new ideas - both in terms of methodologies and data domain - while always interacting with a simple and intuitive QPU interface.
Installation
Using hatch, uv or any pyproject-compatible Python manager
Edit file pyproject.toml to add the line
"quantum-evolution-kernel"
to the list of dependencies.
Using pip or pipx
To install the pipy package using pip or pipx
- Create a
venvif that's not done yet
$ python -m venv venv
- Enter the venv
$ . venv/bin/activate
- Install the package
$ pip install quantum-evolution-kernel
# or
$ pipx install quantum-evolution-kernel
QuickStart
# Load a dataset
import torch_geometric.datasets as pyg_dataset
og_ptcfm = pyg_dataset.TUDataset(root="dataset", name="PTC_FM")
# Setup a quantum feature extractor for this dataset.
# In this example, we'll use QutipExtractor, to emulate a Quantum Device on our machine.
import qek.data.graphs as qek_graphs
import qek.data.extractors as qek_extractors
extractor = qek_extractors.QutipExtractor(compiler=qek_graphs.PTCFMCompiler())
# Add the graphs, compile them and look at the results.
extractor.add_graphs(graphs=og_ptcfm)
extractor.compile()
processed_dataset = extractor.run().processed_data
# Prepare a machine learning pipeline with Scikit Learn.
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
X = [data for data in processed_dataset] # Features
y = [data.target for data in processed_dataset] # Targets
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify = y, test_size=0.2, random_state=42)
# Train a kernel
from qek.kernel import QuantumEvolutionKernel as QEK
kernel = QEK(mu=0.5)
model = SVC(kernel=kernel, random_state=42)
model.fit(X_train, y_train)
Documentation
We have a two parts tutorial:
- Using a Quantum Device to extract machine-learning features;
- Machine Learning with the Quantum Evolution Kernel
See also the full API documentation.
Getting in touch
- Pasqal Community Portal (forums, chat, tutorials, examples, code library).
- GitHub Repository (source code, issue tracker).
- Professional Support (if you need tech support, custom licenses, a variant of this library optimized for your workload, your own QPU, remote access to a QPU, ...)
Metadata
Release files for quantum-evolution-kernel 0.3.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| quantum_evolution_kernel-0.3.4.tar.gz | 34.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| quantum_evolution_kernel-0.3.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 69.4 kB
Release files / quantum_evolution_kernel-0.3.4.tar.gz
| Download URL | quantum_evolution_kernel-0.3.4.tar.gz |
|---|---|
| Size | 34.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
be487745dbd755040e0bb552f620e324896375837affa82f990070095130e161
|
|
BLAKE2b-256 checksum How to use checksums |
627af4c77cbabecd63f9f572693b3dcc001a04f6949f79e1264527ea37cfbb64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.
Transparency logRelease files / quantum_evolution_kernel-0.3.4-py3-none-any.whl
| Download URL | quantum_evolution_kernel-0.3.4-py3-none-any.whl |
|---|---|
| Size | 35.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
076cc7062821349e9d6bb72ad37b9615b5cd906fa30eb6d7bada5a150892ce98
|
|
BLAKE2b-256 checksum How to use checksums |
e66d93b0dae053abba2181b62750d6706d44af1bfb56fe1998b3896f84050f85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.
Transparency log