I have been reading about Lie Group and Lie Algebra from several sources, but this video is the ultimate source that explains al the concepts very clearly
Thank you for this explanation. I am looking into Lie algebras for QFT and found it poorly explained elsewhere. This explanation of the exponential is highly intuitive. I am most impressed and this is a great help to my research 🙏
I had not expected to enjoy a lecture this much when it was targeted at roboticists. It helped solidify a few topics and relations that I had difficulty grasping from several other sources.
@@joansola02 Don't know how to feel about this when the two robotocists that I personally know have been much faster than me grasping maths since 6th and 9th grade. 😁🥴🤪
This is the definitive go-to video for people who wish to learn Lie theory like me. I'm so happy to finally be able to understand the paper regarding state estimation that I've been reading thus far. May I ask if there's a donation I can make to help keep the channel posting such quality material to the masses?
Thanks for these words. We actually produce these videos as part of a Summer School (which has been running for three years already), not so much as part of a channel that produces content. The summer school covers many different topics in Robotics and AI. We also have public funding so it's not necessary to accept donations! Thanks!!
Referring to the upper part of the image at 1:08:09 and from previous page at 49:41 I redefine here the skew matrix as S that is: [ω] × ≡ S & the basis Ez as : Ez ≡ [S([0,0,1])]₃ₓ₃ = [S(k)]₃ₓ₃ Where k is the unit vector in the z axis k = (0,0,1) Let also [Rz(θ)]₃ₓ₃ be the rotation matrix by angle θ around the z axis in 3D and V a vector V = ( V₁ , V₂ , V₃ ) my understanding for example : [S(k)]₃ₓ₃ (Lie algebra) : τ^ ∊ m −⊳ exp −⊳ R³ (3D manifold) Since d/dθ [Rz(θ)]₃ₓ₃ = [S(k)]₃ₓ₃ [Rz(θ)]₃ₓ₃ then [Rz(θ)]₃ₓ₃ = exp { θ S(k)]₃ₓ₃ } −⊳ thus it is an exponential map. For the lower part of the image at 1:08:09 Vector τ ∊ R³ −⊳ Exp −⊳ χ ∈ M Since S(A)B = A×B then [S(k)]₃ₓ₃ B = k × B with B = [Rz(θ)]₃ₓ₃ V ≡ V° it follows d/dθ { [Rz(θ)]₃ₓ₃ V } = [S(k)]₃ₓ₃ [Rz(θ)]₃ₓ₃ V = [S(k)]₃ₓ₃ V° = k × V° where V° is the vector V after rotation Using Rodrigues Formula for rotation the above becomes d/dθ V° = k × { V cos θ + ( k × V )sin θ + k( k ⋅ V )(1 - cos θ ) } = k × V cos θ + k × ( k × V )sin θ = ( -V₂ , V₁ , 0 ) cos θ + ( -V₁ , -V₂ , 0 )sin θ So d/dθ V° = ( -V₂ , V₁ , 0 ) cos θ + ( -V₁ , -V₂ , 0 )sin θ after integrating then V° = ( -V₂ , V₁ , 0 ) sin θ + ( V₁ , V₂ , 0 )cos θ + Vᵢ = ( V₁ cos θ - V₂ sin θ , V₂ cos θ + V₁ sin θ , V₃ ) where Vᵢ = ( 0 , 0 , V₃ ) is a constant of integration. also V° = ( exp { θ [S(k)]₃ₓ₃ } ) V What is meant by " Exp " instead of exp ? is it : V° = { Exp S(k) } V ≜ V ⊕ S(k) ? (omitting θ) that is to say : Exp S = exp (θS) ?
Hi Jaime. Regarding the question at the end: yes, Exp(a) = exp(skew(a)) in SO(2) and SO(3), and Exp(a) = exp(hat(a)) in the general case. Regarding the rest of your commentary, I guess you are just thinking out loud 🙂. What you did seems like constructing a one-parameter group, so rotating about a single axis with the single parameter being the rotation angle. But I fail to see what is your point.
Yes. The general Lie group operation is "inverse". In the groups of unit complex numbers and quaternions, this is achieved with the conjugate. In rotation matrices, with the transpose. Each Lie group has its own form for the "inverse".
It depends on what you mean with equivalent! It's an EKF where the Jacobians are computed according to Lie theory, and the estimation is performed in the tangent space, then brought to the manifold with (+).
@@oldcowbb Hello. Sorry for being so late here. The Jacobians of a function are the derivatives of these function when the perturbations are made and evaluated at the tangent spaces of this function (departing and destination spaces). These derivatives are computed with the plus and minus signs, which are themselves defined via the exp and log maps. If this function happens to be the exponential map, then the jacobian is the derivative of exp, which happens to be called the "jacobian of the group". For example let R;Q be two rot matrices in SO(3). The function f(R;Q)=Q.tr*R has two departure spaces, both SO(3), and one destination space, also SO(3). It has thus two Jacobians: one wrt R and one wrt Q. They happen to be: df/dR = I df/dQ = d(Q.tr*R)/d(Q.tr) * d(Q.tr)/dQ = R.tr * (-Q) = - R.tr * Q and these are by no means the jacobians of exp or log. You can check the paper "a micro Lie theory for state estimation in robotics" for all proofs and developments of these derivatives and many more.
The red curve on Manifold N (followed by sigma1(h) red point) as perturbation tau1 on Manifold M goes to zero (1:19:28) is due to the non linear property of mapping function f. Had f been a linear function it would have been a straight line on the tangent space . Am I correct in my understanding...please help !
Yes @Sumit Sankar you are correct! It's the non-linearity of f() that produces a non-straight path on the tangent space of N. However, be careful, being f() a function of the elements in M, which are not vectors, stating that f() might be linear is dangerous or at least not obvious.
@@joansola02 for the definitions of derivative using the "(+)" and "(-)" operators to be correct, both, "x" as well as "f()" of "f(x)" need to be Lie Groups? I understand if you try to implement the "Lie Group derivative", it only makes sense if "x" is a Lie Group and f() is a Lie Group, as you need the exponential and logarithm to implement "(+)" and "(-)". Unless "f(x)" is just a linear map of lie groups....
@@pau1976 Not necessarily. First, consider that vectors can be put in Lie group form, so (+) and (-) apply to them. Second, for non-Lie groups, you need at least the elements to be in a manifold. Then you need to define appropriate mappings. In the manifolds ocntext, (+) is known as retraction, and (-) as lift. Once (+) and (-) are defined, the definition of the derivative given in this course is valid and all consequences too (jacobians, covariances, kalman filters, or whatever you want). In fact, (+) and (-) are the retract and lift mappings in the context of Lie groups when the exponential map is used. But other maps are possible, leading to other definitions, which would also be valid to define derivatives, errors, covariances, etc. in the tangent space. Please look for information about "lift and retract" in the context of differentiable manifolds. M. Kaess at Georgia Tech has some documents about this. The library GTSAM is also using this.
@@joansola02 Thanks a lot for the quick and detailed reply. Just to be sure about a detail, when using "exponential" for Lie Groups you get always the "right" point on the manifold. On the other side, a retraction is, in most cases, only locally correct but as most optimization processes are local ( like gradient descend ), it's good enough. Is that understanding correct? ( more formally if exp(ht), where "t" is a screw and "h" is the length along the screw "t", it will fall on SE(3) with a geodesic of length "h". On the other side Rx(ht) where "t" is a unit vector on the tangent space of "x", and "h" a length, it is not guaranteed that the pont on the manifold has a length "h" along the geodesic pointed by "t")
Thank you Joan. A joy to watch. A pleasure to understand.
thank you!
This is an excellent motivation and overview for anyone new to Lie Theory, not just roboticists.
I have been reading about Lie Group and Lie Algebra from several sources, but this video is the ultimate source that explains al the concepts very clearly
why is no one in the comment section saying this: this is beautiful!!
Thank you!
Today I found the video, I just want to thank you for the paper. It has been a lifesaver for a self learner
Thank you for this explanation. I am looking into Lie algebras for QFT and found it poorly explained elsewhere. This explanation of the exponential is highly intuitive. I am most impressed and this is a great help to my research 🙏
I finally can understand the Lie theory. Thanks for this excellent video.
Thank you for creating this presentation! This is the perfect level of detail for my situation and is well structured.
Fantastic answer to that last question.
This lecture was extremely useful in understanding constrained optimization in machine learning using lie theory. Thanks a lot!!
Excellent intuitive explanation of a very abstract topic
Amazing course and teaching skills. IMO Great example of how you should introduce a topic to make it more easily understandable.
I had not expected to enjoy a lecture this much when it was targeted at roboticists. It helped solidify a few topics and relations that I had difficulty grasping from several other sources.
We roboticists are a little dumb. We need to make it very easy 😀.
@@joansola02 Don't know how to feel about this when the two robotocists that I personally know have been much faster than me grasping maths since 6th and 9th grade. 😁🥴🤪
This is the definitive go-to video for people who wish to learn Lie theory like me. I'm so happy to finally be able to understand the paper regarding state estimation that I've been reading thus far. May I ask if there's a donation I can make to help keep the channel posting such quality material to the masses?
Thanks for these words. We actually produce these videos as part of a Summer School (which has been running for three years already), not so much as part of a channel that produces content. The summer school covers many different topics in Robotics and AI. We also have public funding so it's not necessary to accept donations! Thanks!!
I‘ m amazed at that extremely round he can draw a circle just by cursor! Fabulous!
Noooo! I used a masking tape roll!
Thank you, sir. This is very helpful.
What a great way to explain these concepts, thanks so much for sharing!
Thanks for your engaging presentation on a topic which combines two of my favourite topics!
Thank you for what you have done.
I so much needed this. Thank you for providing this helpful video!
Thank you so much for this excellent explanation!
Gràcies Joan!
very clear and easy to understand, thank you
Thank you very much for this wonderful and perfect presentation
Thank you! It was very intuitive.
This is fantastic!! Thanks for sharing!
Thank you for sharing.
Thanks!
Best explaination. Thank you
Really helpful! Thanks for the sharing!
Great examples! Thanks
Fantastic and perfect!!!
Cool!
Referring to the upper part of the image at 1:08:09
and from previous page at 49:41 I redefine here the skew matrix as S that is:
[ω] × ≡ S & the basis Ez as : Ez ≡ [S([0,0,1])]₃ₓ₃ = [S(k)]₃ₓ₃
Where k is the unit vector in the z axis k = (0,0,1)
Let also
[Rz(θ)]₃ₓ₃ be the rotation matrix by angle θ around the z axis in 3D
and V a vector V = ( V₁ , V₂ , V₃ )
my understanding for example :
[S(k)]₃ₓ₃ (Lie algebra) : τ^ ∊ m −⊳ exp −⊳ R³ (3D manifold)
Since d/dθ [Rz(θ)]₃ₓ₃ = [S(k)]₃ₓ₃ [Rz(θ)]₃ₓ₃
then [Rz(θ)]₃ₓ₃ = exp { θ S(k)]₃ₓ₃ } −⊳ thus it is an exponential map.
For the lower part of the image at 1:08:09
Vector τ ∊ R³ −⊳ Exp −⊳ χ ∈ M
Since S(A)B = A×B then [S(k)]₃ₓ₃ B = k × B
with B = [Rz(θ)]₃ₓ₃ V ≡ V° it follows
d/dθ { [Rz(θ)]₃ₓ₃ V } = [S(k)]₃ₓ₃ [Rz(θ)]₃ₓ₃ V = [S(k)]₃ₓ₃ V° = k × V°
where V° is the vector V after rotation
Using Rodrigues Formula for rotation the above becomes
d/dθ V° = k × { V cos θ + ( k × V )sin θ + k( k ⋅ V )(1 - cos θ ) }
= k × V cos θ + k × ( k × V )sin θ
= ( -V₂ , V₁ , 0 ) cos θ + ( -V₁ , -V₂ , 0 )sin θ
So d/dθ V° = ( -V₂ , V₁ , 0 ) cos θ + ( -V₁ , -V₂ , 0 )sin θ
after integrating then V° = ( -V₂ , V₁ , 0 ) sin θ + ( V₁ , V₂ , 0 )cos θ + Vᵢ
= ( V₁ cos θ - V₂ sin θ , V₂ cos θ + V₁ sin θ , V₃ )
where Vᵢ = ( 0 , 0 , V₃ ) is a constant of integration.
also V° = ( exp { θ [S(k)]₃ₓ₃ } ) V
What is meant by " Exp " instead of exp ? is it : V° = { Exp S(k) } V ≜ V ⊕ S(k) ?
(omitting θ) that is to say : Exp S = exp (θS) ?
Hi Jaime. Regarding the question at the end: yes, Exp(a) = exp(skew(a)) in SO(2) and SO(3), and Exp(a) = exp(hat(a)) in the general case.
Regarding the rest of your commentary, I guess you are just thinking out loud 🙂. What you did seems like constructing a one-parameter group, so rotating about a single axis with the single parameter being the rotation angle. But I fail to see what is your point.
thanks!!!
So I think the empty set is not in the group.
that (*) is congugate that refers to inverse?
Yes. The general Lie group operation is "inverse". In the groups of unit complex numbers and quaternions, this is achieved with the conjugate. In rotation matrices, with the transpose. Each Lie group has its own form for the "inverse".
cant say no more but thanks!
What the heck 42:04? That’s awesome 🤩 Thanks a lot
Hahaha best comment, thanks!
At the end, is the presented Kalman filter equivalent to the one from the classic formulation?
It depends on what you mean with equivalent! It's an EKF where the Jacobians are computed according to Lie theory, and the estimation is performed in the tangent space, then brought to the manifold with (+).
@@joansola02 if i understand correctly, the Jacobians are basically the Jacobians of the Log and Exp maps
@@oldcowbb Hello. Sorry for being so late here. The Jacobians of a function are the derivatives of these function when the perturbations are made and evaluated at the tangent spaces of this function (departing and destination spaces). These derivatives are computed with the plus and minus signs, which are themselves defined via the exp and log maps. If this function happens to be the exponential map, then the jacobian is the derivative of exp, which happens to be called the "jacobian of the group".
For example let R;Q be two rot matrices in SO(3). The function f(R;Q)=Q.tr*R has two departure spaces, both SO(3), and one destination space, also SO(3). It has thus two Jacobians: one wrt R and one wrt Q. They happen to be:
df/dR = I
df/dQ = d(Q.tr*R)/d(Q.tr) * d(Q.tr)/dQ = R.tr * (-Q) = - R.tr * Q
and these are by no means the jacobians of exp or log. You can check the paper "a micro Lie theory for state estimation in robotics" for all proofs and developments of these derivatives and many more.
@@oldcowbb No, the Jacobians in the EKF are those of the motion and measurement functions.
The motion function is X
so all the covariances are handled in tangent space, so all the adhoc implementations i've been doing are actually correct lol
Tiny error? Around 28:40. 19th century (18 hundreds), not 18th century.
Indeed!! Thank you for pointing it out! 🙂
Bruh did you freehand that perfect circle at 1:03:07? Insane.
Noooo! I used a masking tape roll!
very clear thank you so muchhh
The red curve on Manifold N (followed by sigma1(h) red point) as perturbation tau1 on Manifold M goes to zero (1:19:28) is due to the non linear property of mapping function f. Had f been a linear function it would have been a straight line on the tangent space . Am I correct in my understanding...please help !
Yes @Sumit Sankar you are correct! It's the non-linearity of f() that produces a non-straight path on the tangent space of N. However, be careful, being f() a function of the elements in M, which are not vectors, stating that f() might be linear is dangerous or at least not obvious.
@@joansola02 Thanx a lot !
@@joansola02 for the definitions of derivative using the "(+)" and "(-)" operators to be correct, both, "x" as well as "f()" of "f(x)" need to be Lie Groups? I understand if you try to implement the "Lie Group derivative", it only makes sense if "x" is a Lie Group and f() is a Lie Group, as you need the exponential and logarithm to implement "(+)" and "(-)". Unless "f(x)" is just a linear map of lie groups....
@@pau1976 Not necessarily. First, consider that vectors can be put in Lie group form, so (+) and (-) apply to them. Second, for non-Lie groups, you need at least the elements to be in a manifold. Then you need to define appropriate mappings. In the manifolds ocntext, (+) is known as retraction, and (-) as lift. Once (+) and (-) are defined, the definition of the derivative given in this course is valid and all consequences too (jacobians, covariances, kalman filters, or whatever you want). In fact, (+) and (-) are the retract and lift mappings in the context of Lie groups when the exponential map is used. But other maps are possible, leading to other definitions, which would also be valid to define derivatives, errors, covariances, etc. in the tangent space. Please look for information about "lift and retract" in the context of differentiable manifolds. M. Kaess at Georgia Tech has some documents about this. The library GTSAM is also using this.
@@joansola02 Thanks a lot for the quick and detailed reply. Just to be sure about a detail, when using "exponential" for Lie Groups you get always the "right" point on the manifold. On the other side, a retraction is, in most cases, only locally correct but as most optimization processes are local ( like gradient descend ), it's good enough. Is that understanding correct? ( more formally if exp(ht), where "t" is a screw and "h" is the length along the screw "t", it will fall on SE(3) with a geodesic of length "h". On the other side Rx(ht) where "t" is a unit vector on the tangent space of "x", and "h" a length, it is not guaranteed that the pont on the manifold has a length "h" along the geodesic pointed by "t")
1:09:04 Plus and minus operators
من ممكن ان تبحث هذه الشجرتين حتي يتضح صلوا على النبي صلى الله عليه وسلم
Lies!