BlockEncodingToReflection function
Warning
This documentation refers to the Classic QDK, which has been replaced by the Modern QDK.
Please see https://aka.ms/qdk.api for the API documentation for the Modern QDK.
Namespace: Microsoft.Quantum.Simulation
Package: Microsoft.Quantum.Standard
Converts a BlockEncoding
into an equivalent BLockEncodingReflection
.
That is, given a BlockEncoding
unitary $U$ that encodes some
operator $H$ of interest, converts it into a BlockEncodingReflection
$U'$ that
encodes the same operator, but also satisfies $U'^\dagger = U'$.
This increases the size of the auxiliary register of $U$ by one qubit.
function BlockEncodingToReflection (blockEncoding : Microsoft.Quantum.Simulation.BlockEncoding) : Microsoft.Quantum.Simulation.BlockEncodingReflection
Input
blockEncoding : BlockEncoding
An operation to be converted into a reflection, and that is represented by a unitary matrix $U$.
Output : BlockEncodingReflection
A operation represented by a unitary matrix $U'$ acting jointly on
registers a
and s
that block-encodes $H$, and
satisfies $U'^\dagger = U'$.
Remarks
This increases the size of the auxiliary register of $U$ by one qubit.
References
- Hamiltonian Simulation by Qubitization Guang Hao Low, Isaac L. Chuang https://arxiv.org/abs/1610.06546
See Also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for