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