unitaria.FixedPointAmplification¶
- class unitaria.FixedPointAmplification(A: Node, min_norm: float, accuracy: float, guaranteed: bool = False)[source]¶
Bases:
ProxyNodeA node that applies fixed point amplification to a vector node, i.e. it can amplify the norm of that vector node close to 1 without knowing the exact value, given only a lower bound. This is achieved by using the QSVT and while it is more expensive than Grover-style amplification, there is no risk of “overshooting” and getting a lower norm.
Implements Theorem 27 from https://arxiv.org/abs/1806.01838.
- Parameters:
A – The vector that should be amplified
min_norm – A lower bound for the norm of this vector.
accuracy – The maximum absolute error of this amplification
guaranteed – Determines if the accuracy should be guaranteed using analytical bounds (ignoring numerical errors). If this is set to false, this function will use a heuristic which will result in polynomials of lower degrees while usually still providing the requested precision.