bloch_rotation_to_eigenvectors

forest.benchmarking.robust_phase_estimation.bloch_rotation_to_eigenvectors(theta: float, phi: float) → Sequence[numpy.ndarray]

Provides convenient conversion from a 1q rotation about some Bloch vector to the two eigenvectors of rotation that lay along the rotation axis.

The standard right-hand convention would dictate that the Bloch vector is such that the rotation about this vector is counter-clockwise for a clock facing in the direction of the vector. In this case, the order of returned eigenvectors when passed through get_change_of_basis_from_eigvecs to an RPE experiment will result in a positive phase.

Parameters:
  • theta – azimuthal angle given in radians
  • phi – polar angle given in radians
Returns:

the eigenvectors of the rotation, listed in order consistent with the right-hand-rule and the conventions taken by get_change_of_basis_from_eigvecs and the RPE experiment