# 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:
    left `Rotation` instance, optional

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

    right `Rotation` instance, optional

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

    return_indices bool, optional

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

  Returns:
    reduced `Rotation` instance

      Object containing reduced rotations.

    left_best, right_best: integer ndarray

      Indices of elements from left and right used for reduction.