Shortcuts

pypose.Retr

class pypose.Retr(X, a)[source]

Perform batched retraction with a given direction.

\[Y_i = \mathrm{Exp}(a_i) * X_i, \]

where \(\mathrm{Exp}\) means the exponetial map. See pypose.Exp for more details.

Parameters
  • X (LieTensor) – the input LieTensor to retract (Lie Group)

  • a (LieTensor) – the direction of the retraction (Lie Algebra)

Returns

The retraction of the inputs (Lie Group)

Return type

LieTensor

Examples

  • \(\mathrm{Retr}\): (SO3, so3) \(\mapsto\) SO3

    >>> a = pp.randn_so3()
    >>> X = pp.randn_SO3()
    >>> X.Retr(a) # equivalent to: pp.Retr(X, a)
    SO3Type LieTensor:
    tensor([0.6399, 0.0898, 0.1656, 0.7451])
    
  • \(\mathrm{Retr}\): (SE3, se3) \(\mapsto\) SE3

    >>> a = pp.randn_se3()
    >>> X = pp.randn_SE3()
    >>> X.Retr(a)  # equivalent to: pp.Retr(X, a)
    SE3Type LieTensor:
    tensor([-0.6754,  1.8240,  0.2109, -0.4649, -0.7254, -0.0943,  0.4987])
    
  • \(\mathrm{Retr}\): (Sim3, sim3) \(\mapsto\) Sim3

    >>> a = pp.randn_sim3()
    >>> X = pp.randn_Sim3()
    >>> X.Retr(a)  # equivalent to: pp.Retr(X, a)
    Sim3Type LieTensor:
    tensor([-0.6057, -1.6370,  1.1379,  0.7037,  0.6164,  0.3525, -0.0262,  0.3141])
    
  • \(\mathrm{Retr}\): (RxSO3, rxsso3) \(\mapsto\) RxSO3

    >>> a = pp.randn_rxso3()
    >>> X = pp.randn_RxSO3()
    >>> X.Retr(a)  # equivalent to: pp.Retr(X, a)
    RxSO3Type LieTensor:
    tensor([-0.0787,  0.4052, -0.7509,  0.5155,  0.1217])
    

Docs

Access documentation for PyPose

View Docs

Tutorials

Get started with tutorials and examples

View Tutorials

Get Started

Find resources and how to start using pypose

View Resources