Qualtran
Qualtran copied to clipboard
Qᴜᴀʟᴛʀᴀɴ is a Python library for expressing and analyzing Fault Tolerant Quantum algorithms.
use `ControlledViaAnd` for any non-trivial control spec, to reduce to an `And` ladder and a singly controlled bloq. This could resolve #1452
A work-in-progress implementation of the paper [Quartic quantum speedups for planted inference ](https://arxiv.org/abs/2406.19378) Once the algorithm is implemented, I will pull out changes and library updates into separate PRs. Individual...
The contents of `qualtran.symbolics` should explain how these helpers are used. Examples of how Shaped and HasLength can be used (and why)
Consider the following bloq which yields one And gate per qubit in the control register, all with the same target. ```python @attrs.frozen class myBloq(Bloq): bitsize: int @cached_property def signature(self) ->...
It will return `BloqAsCirqGate(Power(...))` but `BloqAsCirqGate` asserts that the wrappee is not a `cirq.Gate` but `Power` is a `GateWithRegisters`.
following #314 There are three stages of doc generation, each currently done manually. 1. `autogenerate-bloqs-notebooks.py` takes a list of `Bloq` objects and writes stub notebooks and refreshes the docstrings in...
Implement circuit construction described in https://arxiv.org/abs/quant-ph/0302002
This is necessary for supporting symbolic analysis of qubit counts. An example in this direction is https://github.com/quantumlib/Qualtran/pull/1414
Galois Fields are useful in the context of optimization algorithms like DQI - https://arxiv.org/abs/2408.08292 The Galois library is a useful numpy extension that supports Galois fields - https://galois.readthedocs.io/en/v0.4.0/ This issue...
Qubit costs not getting displayed for intermediate bloqs in `show_call_graph(_modexp_small.make())`
Running `show_call_graph(_modexp_small.make())` gives the following diagram: For some reason, `Qubits` property is not displayed for a bunch of bloqs like `CModMulK`, `CtrlScaleModAdd` etc. I'm not sure what's going on here.