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.Expfor 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])