Skip to main content

A comprehensive library for quantum data encodings in machine learning

Project description

Quantum Encoding Atlas

The comprehensive library for quantum data encodings in machine learning

PyPI version Python versions License: MIT CI codecov Documentation DOI Website

Documentation | Website | Tutorials | API Reference | PyPI


Overview

The Quantum Encoding Atlas is the definitive open-source resource for understanding, comparing, and selecting quantum data encodings for machine learning applications.

Features

  • 📊 16 Encoding Methods — Comprehensive implementations of all major quantum data encodings
  • 🔀 Multi-Framework Support — Works seamlessly with PennyLane, Qiskit, and Cirq
  • 📈 Analysis Tools — Compute expressibility, entanglement capability, and trainability
  • 🧪 Benchmarking Framework — Systematic comparison infrastructure
  • 🧭 Decision Guide — Evidence-based encoding recommendations
  • 📚 Extensive Documentation — Tutorials, API docs, and theoretical background

Installation

pip install encoding-atlas

With optional backends:

# With Qiskit support
pip install encoding-atlas[qiskit]

# With Cirq support
pip install encoding-atlas[cirq]

# With all backends
pip install encoding-atlas[all]

# Development installation
pip install encoding-atlas[dev]

Quick Start

from encoding_atlas import IQPEncoding, AngleEncoding
from encoding_atlas.analysis import compute_expressibility
import numpy as np

# Create encodings
iqp = IQPEncoding(n_features=4, reps=2)
angle = AngleEncoding(n_features=4, rotation='Y')

# Generate circuits (PennyLane by default)
X = np.random.randn(10, 4)
circuit = iqp.get_circuit(X[0])

# Analyze properties
print(f"IQP qubits: {iqp.n_qubits}")
print(f"IQP depth: {iqp.depth}")
print(f"IQP expressibility: {compute_expressibility(iqp, n_samples=500):.4f}")

# Get encoding recommendation
from encoding_atlas.guide import recommend_encoding

rec = recommend_encoding(
    n_features=4,
    n_samples=500,
    task='classification',
    hardware='simulator'
)
print(f"Recommended: {rec.encoding_name}")
print(f"Reason: {rec.explanation}")

Supported Encodings

Category Encodings
Amplitude-based AmplitudeEncoding
Angle-based AngleEncoding (RX/RY/RZ), HigherOrderAngleEncoding
Basis BasisEncoding
Entangling IQPEncoding, ZZFeatureMap, PauliFeatureMap
Advanced DataReuploading, HardwareEfficientEncoding, QAOAEncoding, HamiltonianEncoding
Symmetry & Equivariant SymmetryInspiredFeatureMap, SO2EquivariantFeatureMap, CyclicEquivariantFeatureMap, SwapEquivariantFeatureMap
Trainable TrainableEncoding

See the full encoding list for details.

Documentation

Citation

If you use this library in your research, please cite:

@software{Mishra2026encoding,
  title={Quantum Encoding Atlas: A Comprehensive Library for Quantum Data Encodings},
  author={Mishra, Ashutosh},
  year={2026},
  doi={10.5281/zenodo.18780936},
  url={https://doi.org/10.5281/zenodo.18780936},
  version={0.3.0}
}

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

encoding_atlas-0.4.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

encoding_atlas-0.4.0-py3-none-any.whl (399.1 kB view details)

Uploaded Python 3

File details

Details for the file encoding_atlas-0.4.0.tar.gz.

File metadata

  • Download URL: encoding_atlas-0.4.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for encoding_atlas-0.4.0.tar.gz
Algorithm Hash digest
SHA256 d93fb7f53d341baece1aba08c9842a04c84ed14aaee279526022e32267a007be
MD5 bd5da046d5022ed713290e2b3dfdf5cb
BLAKE2b-256 145984ff6ad6ba14c1e6fe1a4a096ada3e883161fba0eacc37ea41bad872e819

See more details on using hashes here.

Provenance

The following attestation bundles were made for encoding_atlas-0.4.0.tar.gz:

Publisher: publish-pypi.yml on encoding-atlas/quantum-encoding-atlas

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file encoding_atlas-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: encoding_atlas-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 399.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for encoding_atlas-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 401409ed73bb7ed13c423113db2c6c99aed873d50f06fe0e3ad709bb4a5f3af2
MD5 4dd501528c05096ea2fe6acd7e46e7df
BLAKE2b-256 80108f7c9f7d52e5dc43bcc56252082664cb62a24df300f99c97152804c1c89b

See more details on using hashes here.

Provenance

The following attestation bundles were made for encoding_atlas-0.4.0-py3-none-any.whl:

Publisher: publish-pypi.yml on encoding-atlas/quantum-encoding-atlas

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page