qiskit/crates/pyext
Daniel Puzzuoli 09e0de00bf
Add QubitSparsePauli and QubitSparsePauliList classes to quantum_info (#14283)
* attempting to add initial structure

* adding module creation function

* partial progress with copying

* partial progress 2

* partial progress 3

* copying over

* successful compilation and import

* minor changes

* renaming SparseTerm to QubitSparsePauli

* starting to transfer tests

* moving more tests

* updating repr of QubitSparsePauliList and adding tests

* testing from_pauli

* more test progress

* moved relevant QubitSparsePauliList tests

* adding from_label and from_pauli constructors to QubitSparsePauli

* adding tests from from_pauli and from_label

* added from_sparse_label method

* fixing QubitSparsePauli constructors

* working through tests for QubitSparsePuli

* saving

* done adding tests (I think)

* formatting and linting

* QubitSparsePauli main doc

* done initial pass on QubitSparsePauliList docs

* initial pass on docs for QubitSparsePauli

* last edits

* Update crates/accelerate/src/pauli_lindblad_map/qubit_sparse_pauli.rs

Co-authored-by: Samuele Ferracin <sam.ferracin@ibm.com>

* Update crates/accelerate/src/pauli_lindblad_map/qubit_sparse_pauli.rs

Co-authored-by: Samuele Ferracin <sam.ferracin@ibm.com>

* changing the order of the class additions in mod.rs

* attempting to fix table

* fixing last warning in docs build

* renaming BitTerm -> Pauli

* fixing formatting

* fixing table indentation

* fixing error message

* making error checking test more specific

* cleaning up some docs

* fixing test

* changing all docs references to standard quantum_info to :class:

* updating all pauli references

* removing from_raw_parts and raw array data properties from QubitSparsePauliList

* deleting documentation for QubitSparsePauliList that details the internal array storage

* removing the Pauli attribute from QubitSparsePauliList

* fixing tests

* re-adding Pauli alphabet to QubitSparsePauli

* formatting

* minor docs change

* removing IterMut

* removing unnecessary methods return mutable references

* fixing method name

* linting

* Correct extraneous documentation

* removing Pauli.py_name and changing all calls to it to py_label

* dropping other unused methods

* fixing test comments/cases

* formatting

---------

Co-authored-by: Samuele Ferracin <sam.ferracin@ibm.com>
Co-authored-by: Jake Lishman <jake.lishman@ibm.com>
2025-05-30 10:42:35 +00:00
..
src Add QubitSparsePauli and QubitSparsePauliList classes to quantum_info (#14283) 2025-05-30 10:42:35 +00:00
Cargo.toml Split out quantum-info and synthesis crates from accelerate (#14342) 2025-05-22 13:06:03 +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-pyext

This is the Rust crate that actually builds the qiskit._accelerate Python extension module.

See the README at the crates top level for more information on the structure. Any self-contained submodule crates (e.g. qasm2) can define their own pymodule, but they should compile only as an rlib, and this crate should then build them into the top-level qiskit._accelerate. This module is also responsible for rewrapping all of the bits-and-pieces parts of crates/accerelate into the qiskit._accelerate extension module.