One of the most importatnt subroutines in quantum computation. It serves as a central building block for many quantum algorithms.

The objective of the algorithm is as follows:

Implementation Steps