bundles / scipy 2.0.0.dev0+git20260907.41eeb59 / scipy / spatial / transform / _rotation / Rotation / reduce
function
scipy.spatial.transform._rotation:Rotation.reduce
source: build-install/usr/lib/python3.14/site-packages/scipy/spatial/transform/_rotation.py:2065
Signature
def reduce(self, left: Rotation | None = None, right: Rotation | None = None, return_indices: bool = False) → Rotation | tuple[Rotation, Array, Array]Summary
Reduce this rotation with the provided rotation groups.
Extended Summary
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, optionalObject containing the left rotation(s). Default value (None) corresponds to the identity rotation.
right: `Rotation` instance, optionalObject containing the right rotation(s). Default value (None) corresponds to the identity rotation.
return_indices: bool, optionalWhether to return the indices of the rotations from
leftandrightused for reduction.
Returns
reduced: `Rotation` instanceObject containing reduced rotations.
: left_best, right_best: int ndarrayIndices of elements from
leftandrightused for reduction.
Aliases
scipy.spatial.transform.Rotation.reduce