# Matrix multiplication through Block Encodings

For a project, I want to simulate a matrix multiplication on a simulated quantum circuit. Assuming that we have a matrix $$A\in \mathbb{R}^{m\times n}$$ stored in a quantum superposition, i.e. $$|A\rangle= \frac{1}{||A||_F}\sum_{i,j=0}^{n-1}{a_{ij}}|i,j\rangle$$ and a vector $$b\in \mathbb{R}^{n\times 1}$$ stored in $$|b\rangle= \frac{1}{||b||}\sum_{i}^{n-1}{b_{i}}|i\rangle$$

How can I find a unitary, such that

$$U|b\rangle\approx|Ab\rangle?$$.

I'm right now looking at block-encodings (https://arxiv.org/abs/1804.01973, https://arxiv.org/abs/1806.01838), where they argue, that we can find a block encoding of $$A$$ as a unitary of form

$$U=\left(\begin{array}{cc} A / \alpha & . \\ . & . \end{array}\right)$$

by decomposing it into two state-preparation unitaries $$U_L$$ and $$U_R$$, s. t.

$$\begin{array}{l} U_{L}:|i\rangle|0\rangle \rightarrow |i\rangle\left(\sum_{j=0}^{n-1}{\frac{A_{i,j}}{||A_{i,\cdot}||_F}|j\rangle} \right)=|i\rangle|A_{i,\cdot}\rangle\\ U_{R}:|0\rangle|j\rangle \rightarrow \left(\sum_{i=0}^{n-1}{\frac{||A_{i,\cdot}||}{||A||_F}|i\rangle} \right)|j\rangle=|\tilde{A}\rangle|j\rangle \end{array}$$ where $$|A_{i,\cdot}\rangle$$ represents the $$i$$-th row of A and $$|\tilde{A}\rangle$$ represents the vector of the row-norms of $$A$$, i.e $$\tilde{A}\in \mathbb{R}^m$$ with $$\tilde{A}_i = ||A_{i,\cdot}||$$ (see Theorem 5.1 https://arxiv.org/pdf/1603.08675.pdf). Then they claim that $$U=U_{L}^{\dagger} U_{R}$$ is a block-encoding of A (see https://youtu.be/zUpHcpIq0Ww?t=1678).

However, I struggle to find the circuits for $$U_L$$ and $$U_R$$, even for a simple $$n=m=2$$ problem. Any hints?

• This may not be exactly what you're looking for, but are you familiar with the Choi-Jamiolkowski isomorphism? Could you teleport $|b\rangle$ using $|A\rangle$? (There are other issues such as the corrective operations depending on the measurement outcome during the teleportation process.) Mar 3 at 11:01