Skip to main content

Add your description here

Project description

qsp-proc

A QSP phase-finding package implementing the preprocessing pipeline from Skelton 2025.

Features

  • Completion methods (4): Wilson/Fejér, BerSün (FFT-based), optimization-based completion, and root-finding/Prony-style completion.
  • QSP conventions (4): base conventions, Angle-QSP (Lemma 1), Laurent-QSP (Lemma 3), and G-QSP (Lemma 4).
  • Metasolver pipeline: compose approximation, completion, decomposition, and phase extraction into a single workflow.
  • Recursive decomposition: carve (F(z)) into ({P_j}) and (E_0) for downstream synthesis.
  • Circuit generation: build Qiskit circuits for basic QSP, controlled variants, and LCU constructions.

Installation

Install in editable mode with uv:

uv pip install -e .

Quick Start

Use the preprocessing pipeline with a Jacobi-Anger Laurent approximation:

from qsp_proc import qsp_preprocess
from qsp_proc.polynomials.approximations import jacobi_anger_laurent

target = jacobi_anger_laurent(tau=50, epsilon=1e-10)
result = qsp_preprocess(target=target)
print(result.summary())

CLI Usage

Run the CLI entry script with typical parameters:

uv run python main.py --tau 50 --epsilon 1e-10

Project Structure

src/qsp_proc/
├── polynomials/      # Chebyshev/Laurent polynomial tools and approximations (Jacobi-Anger, Remez).
├── conventions/      # Angle, Laurent, and G-QSP convention mappings and shared interfaces.
├── completion/       # Complementary polynomial solvers (Wilson, BerSün, optimization, rootfinding, Prony).
├── decomposition/    # Recursive carving routines for Laurent matrix polynomial factorization.
├── circuits/         # Qiskit circuit constructors for basic, controlled, and LCU QSP forms.
└── pipeline.py       # End-to-end preprocessing pipeline from target function to phases/circuits.

Documentation

Full docs available at https://bawa27.github.io/qsp-proc/.

References

  • Skelton, 2025. Hitchhiker's Guide to QSP Pre-processing. arXiv:2501.05977.
  • Berntson and Sunderhauf, 2025. Complementary polynomials in quantum signal processing. arXiv:2406.04246.

License

MIT.

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

qsp_proc-0.1.0.tar.gz (45.6 kB view details)

Uploaded Source

Built Distribution

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

qsp_proc-0.1.0-py3-none-any.whl (62.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qsp_proc-0.1.0.tar.gz
  • Upload date:
  • Size: 45.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.6

File hashes

Hashes for qsp_proc-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3c97d20d53023c3a462493da35f8784ca61c3160b3f563f87a1d5363dbab30f2
MD5 b3ac46fea4da007037ec1b5f405c958d
BLAKE2b-256 5258a85a4c75240e1dfdffb3c0605e023569e93283027015681510de51f466fc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qsp_proc-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 62.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.6

File hashes

Hashes for qsp_proc-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8ae299f0a24c556c31240f6de036a4ef2a72320991df0788e7b52d30b3605e2b
MD5 30708849a010950c2a76948ad7ce5ac1
BLAKE2b-256 7b52da25b27ba9e0474d6eb52ff08c32e92ff1bd3bff0fa454e6fdd97210b576

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