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
- Returns
The retraction of the inputs (Lie Group)
- Return type
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])