Skip to main content

Educational utilities and examples for Quantum Singular Value Transformation (QSVT) using PennyLane.

Project description

Quantum Singular Value Transformation (QSVT)

PyPI Version Python Versions License Sponsor

Lightweight tools for experimenting with Quantum Singular Value Transformation (QSVT) and bounded polynomial transforms using PennyLane.

This repository combines:

  • a notebook-first introduction to QSVT and QSP
  • a reusable Python package for polynomial design, spectral transforms, and small PennyLane QSVT checks
  • reproducible examples for scalar, matrix, PDE, and small physics workflows

The focus is spectral intuition: how bounded polynomials transform singular values or eigenvalues through block encodings.

Links

Installation

Install from PyPI:

pip install qsvt-pennylane

Install from source:

git clone https://github.com/SidRichardsQuantum/Quantum_Singular_Value_Transformation.git
cd Quantum_Singular_Value_Transformation
pip install -e .

Requirements:

  • Python >= 3.10
  • PennyLane >= 0.36
  • NumPy >= 1.23
  • Matplotlib >= 3.7

Quick Example

Apply a scalar polynomial transform:

from qsvt.qsvt import qsvt_scalar_output

result = qsvt_scalar_output(
    x=0.5,
    poly=[0, 0, 1],  # x^2
    encoding_wires=[0],
)

Design a bounded sign polynomial and keep the diagnostics:

from qsvt.workflow import design_workflow

result = design_workflow(
    kind="sign",
    gamma=0.25,
    degree=13,
)

coeffs = result.coeffs
report = result.as_report()

Use the command line interface:

qsvt scalar --x 0.5 --poly "0,0,1"
qsvt design-workflow --kind sign --gamma 0.2 --degree 13
qsvt design-sweep --kind sign --degrees "5,9,13,17" --gamma 0.2 \
  --no-synthesis --output sign-degree-sweep.json

See USAGE.md for full Python and CLI workflows.

Package Map

The public package lives under src/qsvt.

module purpose
qsvt.polynomials Chebyshev utilities, parity checks, boundedness checks
qsvt.approximation polynomial fitting and approximation error helpers
qsvt.design task-oriented polynomial builders
qsvt.algorithms end-to-end simulator-scale algorithm workflows
qsvt.templates ready-made bounded polynomial families
qsvt.workflow combined coefficient, diagnostic, and compatibility workflows
qsvt.reports JSON-safe reports and plot helpers
qsvt.matrices small Hermitian test matrices
qsvt.spectral classical spectral matrix-function references
qsvt.qsvt PennyLane QSVT wrappers and comparisons
qsvt.hamiltonians, qsvt.pde, qsvt.rescaling reusable physics and PDE helpers
qsvt.matrix_functions, qsvt.diagnostics matrix-function designs and validation metrics

For detailed function-level documentation, use docs/qsvt/api_reference.md.

The package includes a py.typed marker so type checkers can consume the inline type annotations shipped with the public modules.

Documentation

Current release: 0.1.18

Notebooks

Tutorial notebooks live in notebooks/tutorials/ and introduce QSVT as polynomial functional calculus, from scalar transforms through sign functions, projectors, matrix functions, reusable design workflows, end-to-end algorithm workflows, reproducible reports, and degree/error tradeoff studies.

Real physics examples live in notebooks/real_examples/ and cover Hamiltonian simulation, ground-state filtering, quantum chemistry, Green's functions, spectral density estimation, Gibbs states, PDE systems, transport physics, spin-chain diagnostics, electronic occupations, photonic band gaps, graphene density of states, topological band projectors, and tensor-network hybrid filtering.

See docs/qsvt/notebooks.md for the full notebook map.

Scope

This project is intentionally educational, explicit, simulator-friendly, and polynomial-focused.

It does not aim to provide production-scale circuit optimization, resource estimation, fault-tolerant constructions, amplitude amplification, or state preparation methods. The emphasis is understanding how polynomial transforms act on spectra.

Support

If this repository is useful for research, learning, or experimentation, you can support continued development through GitHub Sponsors.

Author

Sid Richards

License

MIT License. See LICENSE.

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

qsvt_pennylane-0.1.18.tar.gz (5.8 MB view details)

Uploaded Source

Built Distribution

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

qsvt_pennylane-0.1.18-py3-none-any.whl (56.1 kB view details)

Uploaded Python 3

File details

Details for the file qsvt_pennylane-0.1.18.tar.gz.

File metadata

  • Download URL: qsvt_pennylane-0.1.18.tar.gz
  • Upload date:
  • Size: 5.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qsvt_pennylane-0.1.18.tar.gz
Algorithm Hash digest
SHA256 f98acb125781a1057f2eb0a11b1faa885a8da06fbbd3582ea300fbfd4f3e53f5
MD5 bbea2b211798a6fe37a8068cb5bc2550
BLAKE2b-256 a896b47586da8cf5335c6c142119bbe90eff3f85f9dcba0c2841b1f02e282e0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for qsvt_pennylane-0.1.18.tar.gz:

Publisher: publish.yml on SidRichardsQuantum/Quantum_Singular_Value_Transformation

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

File details

Details for the file qsvt_pennylane-0.1.18-py3-none-any.whl.

File metadata

  • Download URL: qsvt_pennylane-0.1.18-py3-none-any.whl
  • Upload date:
  • Size: 56.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qsvt_pennylane-0.1.18-py3-none-any.whl
Algorithm Hash digest
SHA256 44b7c84940ace1ae3f4fa955c8d47a8b22fed48f585da999d3e3283f20d53dd9
MD5 b94390b17bd2c78b1fac5d2d2cdffa99
BLAKE2b-256 c586de316ebd314c25d339eca31be8832e23e74ee21682dd34c5032303a6f8c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for qsvt_pennylane-0.1.18-py3-none-any.whl:

Publisher: publish.yml on SidRichardsQuantum/Quantum_Singular_Value_Transformation

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