qiskit/crates/accelerate
Julien Gacon 892b369ea5
Oxidize the Solovay Kitaev algorithm (#14203)
* SolovayKitaev in Rust

* fix decorator order

* use `f64`

* fix tests and SO(3) formula

* merge artifacts

* mostly backward compat

* fix tests

* docs

* some initial comments

* simplify GateSequence

- gates are not optional
- don't store u2 matrix

* directly solve Eq. (10)

* more review comments

- adapting tolerances
- outer prod
- update docs/minors

* more review comments

- better docs
- SO(3) for any pauli

* further review comments

- add reno
- fix gate path + more tests
- use gate path per default
- more docs

* more review comments

- tolerances
- rm unused errors
2025-06-03 10:35:12 +00:00
..
src Add QubitSparsePauli and QubitSparsePauliList classes to quantum_info (#14283) 2025-05-30 10:42:35 +00:00
Cargo.toml Oxidize the Solovay Kitaev algorithm (#14203) 2025-06-03 10:35:12 +00:00
README.md Refactor Rust crates to build a single extension module (#12134) 2024-04-17 19:52:07 +00:00

README.md

qiskit-accelerate

This crate provides a bits-and-pieces Rust libary for small, self-contained functions that are used by the main Python-space components to accelerate certain tasks. If you're trying to speed up one particular Python function by replacing its innards with a Rust one, this is the best place to put the code. This is usually the right place to put new Rust/Python code.

The qiskit-pyext crate is what actually builds the C extension modules. Modules in here should define themselves has being submodules of qiskit._accelerate, and then the qiskit-pyext crate should bind them into its fn _accelerate when it's making the C extension.