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 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},
  url={https://github.com/encoding-atlas/quantum-encoding-atlas},
  version={0.1.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.3.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.3.0-py3-none-any.whl (399.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: encoding_atlas-0.3.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.3.0.tar.gz
Algorithm Hash digest
SHA256 42a34decf2faafbea5fe990c1f8b78c49a4123b168626cba05676937a0405fdd
MD5 c6885535357a5ce38cf0dce3d7313b68
BLAKE2b-256 097bb379658007e495eeedebd31616b4418f2704c462a8214bf7fca84ec5d29b

See more details on using hashes here.

Provenance

The following attestation bundles were made for encoding_atlas-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: encoding_atlas-0.3.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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3cb8dbcd94ced815032aced18ec162b2370354482f6044bd850f1e9f3a4fe7c
MD5 1c0ff457045a3db1271411cbdaceb683
BLAKE2b-256 26212a6364c4d791c9efc5c506b87b11e6b8a808754cbaf3cc776319ec710722

See more details on using hashes here.

Provenance

The following attestation bundles were made for encoding_atlas-0.3.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