clifford.tools.rotor_decomp

clifford.tools.rotor_decomp(V: clifford._multivector.MultiVector, x: clifford._multivector.MultiVector)Tuple[clifford._multivector.MultiVector, clifford._multivector.MultiVector][source]

Rotor decomposition of rotor V

Given a rotor V, and a vector x, this will decompose V into a series of two rotations, U and H, where U leaves x invariant and H contains x.

Limited to 4D for now.

See [Hes15], Appendix B, Theorem 4.

Parameters
Returns

  • H (clifford.Multivector) – rotor which contains x

  • U (clifford.Multivector) – rotor which leaves x invariant