ls_mlkit.util.manifold.so3 module¶
SO(3): Special Orthogonal Group
- class ls_mlkit.util.manifold.so3.SO3(*args, **kwargs)[source]¶
Bases:
LieGroupSO(3): Special Orthogonal Group
- exp(p: Tensor = None, v: Tensor = None) Tensor[source]¶
Exponential map $$exp_p(v)$$ map a point in tangent space $$T_p M$$ to a point on the manifold $$M$$ $$exp_p(v) = p cdot exp(p^{-1} v)$$ if p is None, it will be set to the identity matrix
- grad(f: Callable, p: Tensor) Tensor[source]¶
Riemannian gradient of f at point p on SO(3)
$$ p cdot skew(p^{-1} nabla_p f(p)) $$
- Parameters:
f – Callable[[Tensor], Tensor], scalar function of p
p – (…, 3, 3) point on SO(3)
- Returns:
(…, 3, 3) gradient in the tangent space T_p SO(3)
- log(p: Tensor = None, q: Tensor = None) Tensor[source]¶
Logarithm map $$log_p(q)$$ map a point on the manifold $$M$$ to a point in tangent space $$T_p M$$ $$log_p(q)=plog(p^{-1} q)$$ if p is None, it will be set to the identity matrix