Qualtran
Qualtran copied to clipboard
Qᴜᴀʟᴛʀᴀɴ is a Python library for expressing and analyzing Fault Tolerant Quantum algorithms.
It would be nice to understand how many 'operator levels' exist in a bloq. Ie, if we have an operator that decomposes into 1Q/2Q/CCX qubit gates, that would be level...
This builds upon #743 (and the preceding PRs) to add a notebook which numerically and symbolically analyzes the T counts for the PLAQ hubbard bloqs (without HWP). I've kept it...
QROM takes a `num_controls` parameter and constructs one control register of bitsize=n. These usually function as a vector of flags, right? shouldn't it be `bitsize=1, shape=(n,)`? @tanujkhattar
Following https://github.com/quantumlib/cirq-qubitization/pull/265#discussion_r1240452520 Add a method that will blow up a bloq's soquets, get all the symbols for them. This can be used for testing or serialization. Right now this implicitly...
unary iteration / qrom bloqs support a lot of features (multi-dimensional select; `break`) that obscure the key points of the design. They're also written cirq-style where each target op `op[l]`...
Currently our T costs derive from https://arxiv.org/pdf/1404.5320.pdf, which gives a mean cost of 1.149 log2 (1/ε) + 9.2 for a target precision of ε. Many papers use a phase gradient...
Should be a quick test. Running --check locally however raises an error on my machine. Not sure why.
The figure from the paper looks like this the current decomposition looks like Some more intermediate-abstraction bloqs could clean this up. For example: the list of CNOTs could be wrapped...
In [appendix C ](https://quantum-journal.org/papers/q-2019-12-02-208/pdf/) an algorithm is described for uncomputing table lookups. The [THC paper](https://journals.aps.org/prxquantum/pdf/10.1103/PRXQuantum.2.030305) also quotes a lower cost for inverting regular old qrom on page 15 cf. listing...