# Block encoding technique: what is it and what is it used for?

I was wondering if someone could explain to me what this technique called "block encoding" does, and what it is used for at a high level, found in arXiv:1806.01838.

It is in section 4.1, definition 43; shown below.

I encountered this topic while reading this (arXiv:2012.05460) paper, where it is mentioned just above lemma 7; shown below.

I am told that block encoding is used to reduce the 3D circuit down to a 2D circuit, by applying block encoding k times, to get the leading schmidt vector of this circuit. However, I'm not sure if this is the correct intuition, and I certainly don't understand the symbols in the definition of block encoding. If my question isn't really clear I'm happy to elaborate!

• The high-level way I think about block encodings is this: you can implement only unitary matrices on a quantum computer. But, say you want to implement some other, non-unitary matrix. You can always implement it as a "sub-block" of a larger, unitary matrix. In the equation, the projector around U simply selects the "sub-block" that codes for A/alpha; it's basically saying that U is an $(\alpha, a, \epsilon)$-block encoding of $A$ if the top left block of the matrix is $A/\alpha$. The way this is actually constructed is using the Prepare-Select-Prepare† circuit. Dec 2, 2021 at 19:29
• This paper covers the subject and is somewhat pedagogical arxiv.org/abs/2105.02859. Jul 30, 2022 at 21:17