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

Documentation | Tutorials | API Reference


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/ashutoshm1771/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.1.0.tar.gz (1.1 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.1.0-py3-none-any.whl (386.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: encoding_atlas-0.1.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.8

File hashes

Hashes for encoding_atlas-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4d9798e0aa5374590413bd12d2cd855f831066067cbe4f1cc9f25a6f5d333dcc
MD5 3ddaae0eeb6e2a4d9c66f479c3c69e98
BLAKE2b-256 0066edd5e155c0e825d84938ab8ca5c51ec9d16c97f9f7d0721bd8cb08063a83

See more details on using hashes here.

File details

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

File metadata

  • Download URL: encoding_atlas-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 386.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.8

File hashes

Hashes for encoding_atlas-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1db2baf22e85d37e27b23c9ebef2a1a77187b6c109efa004e24513b7e538d2d0
MD5 3f3b2d1432c241763c0f2469ce45b2ab
BLAKE2b-256 925fd647fd89ce89767e8a758c718fb512eab569bef7bf200e4fc2821239e2f6

See more details on using hashes here.

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