Skip to content

workbench_algorithms.utils.state_prep_utils

Utility functions for state prep.

get_angles

get_angles(amps, num_qubits=None)

Equations 5 and 8 in arXiv:0407010 .

Parameters:

Name Type Description Default
amps list

List of amplitudes.

required
num_qubits (Optional, int)

Number of qubits the amps will be loaded to. Defaults to None.

None

Returns:

Type Description
(list, list)

List of list of angles for \(Z\) rotations and list of list of angles for \(Y\) rotations.

get_gray_angles

get_gray_angles(angles)

Given list of angles for uniform rotations, return angles for single qubit rotations.

Follows equation 3 in arXiv:0407010 .

Parameters:

Name Type Description Default
angles list

List of angles.

required

Returns:

Type Description
list

List of single qubit rotation angles.

Note

The "dot" in the equation is a bitwise dot product.

get_all_grays

get_all_grays(angles)

Apply get_gray_angles to a list of lists of angles.

Parameters:

Name Type Description Default
angles list

List of list of angles

required

Returns:

Type Description
list

List of list of single qubit gray angles

get_usp_angle

get_usp_angle(d)

Given a number of elements to produce a USP over d, calculate the rotation angle needed.