Quaternion

class qiskit.quantum_info.Quaternion(data)[source]

Bases: object

A class representing a Quaternion.

Methods

classmethod from_axis_rotation(angle, axis)[source]

Return quaternion for rotation about given axis.

Parameters:
  • angle (float) – Angle in radians.

  • axis (str) – Axis for rotation

Returns:

Quaternion for axis rotation.

Return type:

Quaternion

Raises:

ValueError – Invalid input axis.

classmethod from_euler(angles, order='yzy')[source]

Generate a quaternion from a set of Euler angles.

Parameters:
  • angles (array_like) – Array of Euler angles.

  • order (str) – Order of Euler rotations. ‘yzy’ is default.

Returns:

Quaternion representation of Euler rotation.

Return type:

Quaternion

norm()[source]

Norm of quaternion.

normalize(inplace=False)[source]

Normalizes a Quaternion to unit length so that it represents a valid rotation.

Parameters:

inplace (bool) – Do an inplace normalization.

Returns:

Normalized quaternion.

Return type:

Quaternion

to_matrix()[source]

Converts a unit-length quaternion to a rotation matrix.

Returns:

Rotation matrix.

Return type:

ndarray

to_zyz()[source]

Converts a unit-length quaternion to a sequence of ZYZ Euler angles.

Returns:

Array of Euler angles.

Return type:

ndarray