scipy.spatial.transform.Rotation.reduce#

Rotation.reduce(self, left=None, right=None, return_indices=False)#

Reduce this rotation with the provided rotation groups.

Reduction of a rotation p is a transformation of the form q = l * p * r, where l and r are chosen from left and right respectively, such that rotation q has the smallest magnitude.

If left and right are rotation groups representing symmetries of two objects rotated by p, then q is the rotation of the smallest magnitude to align these objects considering their symmetries.

Parameters:
leftRotation instance, optional

Object containing the left rotation(s). Default value (None) corresponds to the identity rotation.

rightRotation instance, optional

Object containing the right rotation(s). Default value (None) corresponds to the identity rotation.

return_indicesbool, optional

Whether to return the indices of the rotations from left and right used for reduction.

Returns:
reducedRotation instance

Object containing reduced rotations.

left_best, right_best: integer ndarray

Indices of elements from left and right used for reduction.