This is a pre-release version (latest).Go to latest (1.18.0)
{ } Raw JSON

bundles / scipy latest / 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, 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: int ndarray

Indices of elements from left and right used for reduction.

Aliases

  • scipy.spatial.transform.Rotation.reduce