Qualtran
Qualtran copied to clipboard
Qᴜᴀʟᴛʀᴀɴ is a Python library for expressing and analyzing Fault Tolerant Quantum algorithms.
```python In [7]: t_complexity(cirq.CCX) Out[7]: TComplexity(t=7, clifford=10, rotations=0) In [9]: t_complexity(Toffoli()) Out[9]: TComplexity(t=4, clifford=0, rotations=0) ```
It would be nice to have the ability to specify different decomposition or different decomposition 'levels' (ie, we want to keep toffolis, or want to keep rotations, or want to...
One of the fundamental principles of qualtran (and programming languages in general) is composing basic operations to make composite operations that expresses a more complex behavior. Users can call `Bloq.decompose_bloq()`...
It's really difficult if there isn't the traditional `signature()` property at the top of the class to figure out what the signature is. The register names / orders are not...
When I installed qualtran using `pip` in a fresh environment and tried to import something I got the following error: ``` Python 3.10.10 (main, Oct 6 2023, 13:57:03) [Clang 14.0.3...
Everything is a bloq now, so we can indicate that with types in the `t_complexity` function. It will now duck-type for bloqs. There are some tests that still want to...
Greedy qubit manager fails with a duplicate QID on a CNOT in the ```LessThanConstant``` , SimpleQubitManager works without issue. Issue occurs with current release of qualtran (0.2.0) Code to reproduce:...
This speeds up gate counting from a couple seconds to a couple hundred milliseconds on the hubbard model example.
Every time you call `bloq.call_graph()` you can get a different `nx.DiGraph` where the ordering of successors of a node is different. This happens because `build_call_graph` returns a `Set` instead of...
Adds: * classical simulation for the Fxp multiplication bloqs + refactors the error analysis notebook to use these * Updates phase gradient classical simulation to use Fxp types * Uses...