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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c97d20d53023c3a462493da35f8784ca61c3160b3f563f87a1d5363dbab30f2
|
|
| MD5 |
b3ac46fea4da007037ec1b5f405c958d
|
|
| BLAKE2b-256 |
5258a85a4c75240e1dfdffb3c0605e023569e93283027015681510de51f466fc
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ae299f0a24c556c31240f6de036a4ef2a72320991df0788e7b52d30b3605e2b
|
|
| MD5 |
30708849a010950c2a76948ad7ce5ac1
|
|
| BLAKE2b-256 |
7b52da25b27ba9e0474d6eb52ff08c32e92ff1bd3bff0fa454e6fdd97210b576
|