Hello,
In the so3.log function
|
return self.vee((0.5 * angle / np.sin(angle)) * (self.mat - self.mat.T)) |
There's a division by np.sin(angle) but there isn't a check to see if angle is +np.pi or -np.pi. I understand that due to numerical precision, np.sin(np.pi) != 0.0 but I'm wondering if there needs to be some extra care taken here.
See
https://en.wikipedia.org/wiki/Axis–angle_representation#Log_map_from_SO(3)_to_%7F'%22%60UNIQ--postMath-0000000D-QINU%60%22'%7F(3)