Extract from Gravitational-Wave Data Analysis: Computing Challenges in the 3G Era, GWIC-3G Subcommittee Reports , Bird, I. et al. (2019).
It is a quantum search algorithm. The easiest example for this is a quantum register that has been fully put to equal superposition. This is done by applying Hadamard gates to each qbit.
$$H|0\rangle H|0\rangle = |++\rangle = \left[\frac{|0\rangle+|1\rangle}{\sqrt{2}}\right]\left[\frac{|0\rangle+|1\rangle}{\sqrt{2}}\right]=\frac{1}{2}(|00\rangle+|01\rangle+|10\rangle+|11\rangle)$$This would look like a circuit,
Some of the computational bases (the bases created by the combination of all the qbits). Will somehow match your search, while the others don't.
The algorithm then has two parts:
Grover's algorithm can be though of graphically:
We can then write the state as
$$ \ket{s} = \sqrt{\frac{r}{N}}\ket{w} + \sqrt{\frac{N-r}{N}}\ket{w_\bot} $$with r being the number of solutions and N being the number of elements.
The the oracle ($D_f$ operator) simply gives a negative sign/phase to the first element (process called phase kickback):
$$ D_f\ket{s} = -\sqrt{\frac{r}{N}}\ket{w} + \sqrt{\frac{N-r}{N}}\ket{w_\bot} $$and the diffusion operator reflects it on $\ket{s}$. This results in a state vector closer to $\ket{w}$, meaning the prob. of measuring a correct solution increases.
Extract from A quantum algorithm for gravitational wave matched filtering. Uni- versity of Glasgow. Gao, S. et al. (2021); arXiv:2109.01535.
To create a working Matched Filtering circuit, we need to be able to
We need to be able to compare values of two bit strings. Luckily there already exists schematics for a Quantum Bit String Comparator (Oliveira et al. 2007).
We need to combine:
The circuit above was encoded using the values :
$$ [3,8,1,9,0,8,0,5,7,5,3,2,5,7,5,3,2,6,8,5,6,4,3,7,5,4,3,5,6,7,4,3,4,6,7\\ 8,5,3,2,2,3,4,5,4,3,2,3,4,5,6,4,3,3,3,4,5,2,2,3,4,4,4,3,2,3,4,5,6,7,6,5] $$and $$\rho_{thresh} = 7$$
This means we should be able to get an output of indices:
Total time: 48.63046964100795
Index 1 holds the value 8, which is above the chosen threshold. Index 3 holds the value 9, which is above the chosen threshold. Index 5 holds the value 8, which is above the chosen threshold. Index 18 holds the value 8, which is above the chosen threshold. Index 38 holds the value 8, which is above the chosen threshold.
At the moment, not enough qbits or processing power to run a full database. But by splicing:
Other possible benefit (currently investigated):
That means that we can possibly find an optimal splicing of parameter space to minimize some type of complexity
Many ways to measure complexity for quantum computing, but:
Impact of database and value size on Qbit number
Impact of database and value size on Qbit number
Impact of database and value size on MCX operation number
Impact of database and value size on MCX + CX operation number
Impact of database and value size on MCX + CX + X operation number