Matthew Harrigan

Results 198 issues of Matthew Harrigan

Our standard library of bloqs is under `qualtran.bloqs`. As it grows, we'll continue to organize things into packages and modules. For serialization and to help some of the automatic documentation,...

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

bloqs/data_loading

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]`...

bloqs/data_loading

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...

Provide functionality for automatically supporting the tensor simulation protocol if a bloq supports classical simulation. ```python tensor = np.zeros(...) for inputs in itertools.product(reg.all_possible_inputs for reg in self.signature): ouputs = bloq.call_classically(inputs)...

sim/classical
sim/quantum

Following #653 , the `uncompute` flag was added into the `Square` bloq even though everything is by-the-book. Consider extending the adjoint protocol - `on_classical_vals` ... For very good reason, python...

bloqs/arithmetic

Following #600 Override `get_ctrl_system` for all the bloqs in the library that have custom/optimized controlled versions.

Write a CUDA implementation of the op. Maybe wrap something like https://github.com/victor-gil-sepulveda/pyRMSD

In the op, I make a copy of the input arrays so I can use the rmsd library's centering routine, which modifies arrays in place. Per the tensorflow tutorial, the...