From 50b38698eb28b49432fa6a2639f0cbca677c3050 Mon Sep 17 00:00:00 2001 From: brentyi Date: Mon, 6 May 2024 17:53:51 +0000 Subject: [PATCH] deploy: 84babf5c04ba6287cdec250ab1eed2f6d0a53988 --- .doctrees/api/jaxlie/_se2/index.doctree | Bin 54932 -> 54932 bytes .doctrees/api/jaxlie/index.doctree | Bin 334274 -> 334274 bytes .doctrees/environment.pickle | Bin 1826565 -> 1826565 bytes _modules/jaxlie/_se2/index.html | 2 +- _sources/api/jaxlie/_se2/index.rst.txt | 2 +- _sources/api/jaxlie/index.rst.txt | 2 +- api/jaxlie/_se2/index.html | 2 +- api/jaxlie/index.html | 2 +- searchindex.js | 2 +- 9 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.doctrees/api/jaxlie/_se2/index.doctree b/.doctrees/api/jaxlie/_se2/index.doctree index 17bd11d138cab05c7fd5879bb6b4b48d6f5a1c09..d1e9f0b5b14c2362d27d5a6efa48311eee16b068 100644 GIT binary patch delta 46 zcmV+}0MY-Htpk*;1F(f50W`CQAu<91G?Td_{Sq`OU|^JJ2VInCAdChmDl8y0v&baO Ev3~LpZU6uP delta 46 zcmV+}0MY-Htpk*;1F(f50W-6PAu<91Gn2U^{Sq@NU|^JJ2VInCAdChmDl8x~v&baO Ev3`^gY5)KL diff --git a/.doctrees/api/jaxlie/index.doctree b/.doctrees/api/jaxlie/index.doctree index 73167c6b2c148dc7dc6d3227d1d208c82fa81263..77e54db0169df2954f79230ec274c63a1015a63b 100644 GIT binary patch delta 55 zcmX@KS>(`Wk%lddcFU(L-(!y3K4&@OR>tYJ5193*H>_klKi%#jvs`=bDn=k?0%GRv JxvN-0^8u{u7n%S7 delta 73 zcmX@KS>(`Wk%lddcFP%!rwfWR$8MjqoN+57kRvC_tT(-3CF6M^W6gwwDH-gsQ!*5K a*fg|s6pY&wS1|%H6A&|RPh7>4m=6H98yQmo diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 3114a4e2db2814a4dc588a935b3351d56b8a50a3..769f8810fd2da56775f151c8fc7c522219162a1b 100644 GIT binary patch delta 14598 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 delta 14615 zcmZvDcVJXS*SB|Twzqq4cC(uX0TLi2^iC2w1OX9|Doqdql8}I)lzJDU`3$}QTIyK-ix&HB#U zz4LkwFX;VNzwo)NVE9y~GaR2~l>#uX)Ex+~$gJqJ7WAv$vrq4Wfqe^ROo@fWOmA%X zNoLt_<;E7>6k~W!R;6&OEPMFVEC=lk=Sz)I;S-rL$P9!ZW|a^3$?}G4HcpCG3@^Pj z#rco1D)|M&X5@Ind5wc1ACvtPizc&Et_%r3n`QlsoKSdE<3!03mYVp&sg2FhsJqT2 z$w(%c0#q>oo}q?dII)Qg7fOu|lbl>pL1WEHrVkotP6~av=%XTi1nHxa!H-WGa!zIXprPiZ z(ns{Fn$6<$h16Gxxk1*>RX<0Yn7spXU`EC_(nuP7iTTN6jq);T zWx;W#O4C|mUigzn(WI7`tuLKmGMd;Dv(ceZG`S__w17s@1echj%Oe$T)T))_2~TQO zLGp!Hwn~-k;q$FNk{qkvZY}Aca$C1&RbiX1Q5w3@@vcEbH@lqX==dA&STtUb0X7?a zKfv1{DX1Esl|Q|R}e4CoGfZ zX+tEnR!DrbWZz0@tL7XgZNTUcbd4eVH%nc3r#f4upLr+yHfa}!zy3#9UAt47!I=wo zN#Ak!)}Dy{r+cLnS`x{P|4LuFv|zt@Aic`HZkKeL*EGGZNJ}W$<i9WhTR!BW=SIEq_ zb?@jjZYWQ;nd|;GRF}@Vsl#;BIrqSDU6{jy5xSKe)_7M}#NqDubZ5;{b%>v>A4%dT z=-$*JQS}qa2M1;ulF0fZU4n!h&rOReRVVi+>f#L0=!sP!rg|u6x`#{#NV9S~jHo!8X} zKweF|0;m5#N!ol}4B7gpZn+CqHbQ1glb$nInDx7(m?rtitzT+`_Jc4p?Lzt-H zvbaE>Y{vG;d-@;g>t(1}uaJ2~`r$fc`X}iRP^D|d`bb8}1|;W60>w4b5zDW*=oP*UDtvT-MGV*9L+{VcsNC+4dav{-(MKdP_;TzSAm+YEqOe0jyYi#8H#%36oXhuk* z_Qumz%}Z)GV>&l|t)DRc`5tWLpqfj<8U2QSTxJH#wz*Qw6vRR z#Pl-uy7@*-FN6CQ80qSz%DD@Tm|g}G7a8f2rChSusCRP{2i6%!*f{RC-T0ZzvGvS9 z_{TfOJ*wn~@$+!mer7U_4RWQ_GN%9eIIdC4lx#tzdpey$@-s|EI~PpJHqAf}B=L3A zSHjcrKBkr~O%5Z6n%r)xae95ioPlpqJxu7b40I}pP^`FScsO- zHkr^n%gU~=P4_v5z;aYepD)xNFE@Q5M!sybX^n?F8n_?T4(>Bq2*&V=(D>t$30Ht0 zhSII*)@{>K6u>KVpE&W%bXiQoeycg1_kd!>?1sCtSsRP)OcC^c-PDYH5H$apD#g(4 zxkdP4YY#cv%IuWF?M8aY{nqA}%?!QL!93T(kiNV5u#ur(dz)`7kUdLM$n_ECS9FY- z{hm2iL+_3@uhPsk9BW>pp+|)Rtr;)S&hhyG#iFsoTg~SU8hn3; zc`t`O_nJ3zn0Cngki$C1BQWcX`2puPzi8fLg?g)W3jB2yXJF-JoPm`O@deoara4Zh z*)F_g_HsDyju~J5ES|de%mvl8t|w!o@L1uG;$3ehMKy~C_jxqBvo=bmr3*=JgQ$nm ztPdI8F>1L-gBks!&RQXl?)2$HqvqH&qdVWlu5+44#SrJ1s8(K0b#Q6at3FM>ZVt-x zJ`tv$&WkF?mFldCn(BlVb~%1y={k6K~ZOf~%_Y9Ejtw|<)UR)YvDZWf3*JO?RTx;VwOXCl~gLSzR9QI>zUTG zc3NC2oSBQgdVMY8**wqstD>1+_k*={q6Pz}ts=d1&ss%#^UqsFde>aEiu88AY!y}X z_b*maMVqf!MHO|rYQ4sX43GKfbRQjnp$($ylXXw5>v?ULSZsxw9*K*y;S!-MoYb#i z(>b(t`E9z5Cv0>LTRKn3PcPfH@uK*whpiHx8R?Qd-QSkam*nE1qSxenTYa98Gw<89 zgeYWhsm-l2Ur=u@s$K*epR3?EwgjG#_B(9dcx7$aWixPiXpc=~Vc0&KsMrbzY+~q} z4%(_{*@b3TL>QHRwPo>zF#euxj6?JN+EbLLo9*0p!)LaeZ1xq>&~ER_2fMVKoevgv z*0A$rtf*Sh~prxnONxI%bwtg-XdLB%5|X}<+e^K6SA zeB54@r*HX5yU66vr|lw>{m0LxX_U?`~+U`t_=Q_&rvU9%cka%4t6*)@zeC?d( z_>jXlKX){BvAQH1mpH@(RsN4dOi;_C=qBxvBZj0MbBGE0@EkJ7T@t=?&pX5{J-Q;) z^RGF?48=ck;HNiR2e++GF+&4_PBBAWlAU~pU}7C7zO|}5d7cN=buQuiaiylt%Gxx2 zIJl#e4DRT9tDmH@;|U3_bJdh!(HgIZ^j`0(ZPDPOZLZ2D4gR{@^}UgE54sLmHCTMc z^{PRGw=THwtdn!ntH9zrE;khJa9JSZsLMlA|8gCU(6r=WgZ2FLwG7vtxw2kymnQ9bYbS zmy;wHDVXfew_yA040i_;wsmK_2hn!HT=yU&ww{IVrv_}@OWm_5f8qD;LfTgN(LJ+{ z#Pgolk9zO`yThaP z9DKo(BeZV*;RytJkATy)7VdY6}6UFhu@MWKhhzS7&lsKIq> zyrVg6vEEy1ft~4Yh1}fcE%a%y@T50K)!@_H-uN<-q9vuD$2Sr8kVQrhc@pa@mNYmk z-uEeonTfs$93Cwbfdi5vy1Med$z0*f3O-z+%ve^6Z&5U!QEz7YawKd!HTIpiLqe{h zB^lk$=ZeP506LrSpubNhSNr?=HUndcyXC@RE~J>Ocdq(JvG*lox~Uo51* zCfl`;mX)}pVdXBxL|!}V`&xp(PoXIsN)!YadhO8oJO&nj+!q(lJZOZreZ6KV_4pL1 za>3Ue4~7`<#YJWld~(6}D#$0en)9Ns7wFHTpUD?}f3SPgoDO*szoQ*M5xb)uOA))H zok0=1qg_l9yQAGg5xeO%z>(eNpTVYzqDtiI|S&S`fY*%~f3%HejenMtqf zG}~y`3!80n9DJ1!aKYJgvWIlM>BGYgleC?qSV-C}-(60BW|rf^cfm@!-0>aOc%G`wl&4k`(^wJIl?z{mAzR7j3>E zTgceQzMGt8=0AGo!=vOKIST%YmAz!u-@bLcXW_F*PlRzW?Mu}_7D@5}E-%r`zjI3n zQGPfo3UZ1t(49t^kC@;HpK>LZmMssWT#%cpc*r%2{2y)!C3!lYyPmR@WIJV%jWoA> zPV`3+{H4e?Qr#;r5KJ5s;FwJCOu;3v{{p@gd+N}9ye#9bB+WX(ao*wTXwJ3PFQ4Hg zj>|^ZmE|9~gvAl4BRgT)be)AXsv@7(B&1?Gow7)G(y*F* zLeO&a_Sat{}fv4MOE6d#Y%Q$x7`G7pD9VCRZE&XgdXTMP);Jyisp{d2b1LxIo6uyj?$!E8+ip6rB{<3 zB-B>E&gqnNoUg|{RU4_&UOxYv672D-_^$6D@8rx(onj@Sjx*mHeG6<6gshViDNkv!LpMr)@FofqYs+ znoqPrZWhpLV>DKdja(QmpAs~#ImrGH*K*-?gBA95#O{BNperq6nCy9%780e&%29OD z{bPB_7`iJldUH=K#KQ5oq`xerg%)8FWO5~f)rM2eOtmkPFLEum@G%HY6bpa8rK;Lq z^>(rRyAJmMrR2Q$@@MaJCp?*gi+bT>tjPmYX_^u8nv5-_X=XI5$!^nVni-8XX(yMa z(=;<0%gGJ{f501Dww||!W!#9Fgw8K~`US4%o)c6nSus=I^KS{65Av~pGoej9sxSFe z-ls`O@oc*MsZCP)h5RRnFh{=keAikD_`+E>8*6g!T)L057*O9wR?e5NaytDEo`Jrd zFXPupk?Mrh(P;DX0=nfg^=U?&-;E39OF|t7N7gTrPjZ^ArR7WL9?SIU;(*Xbod1MR zO;&g|0nP1PM(1CPb_Jaz2FHCz=ZAHo86%@s(RIOSx^AEyk)ufN8ank6CP5}wBI!TM z7r3c}^^y44;za+#G+R>2W?WKuSi^I}IPD09hqa#|{*I6D-gAGJV(dDI%vN`#Y-{6088 z8YPZ>@~2#aZ!9M9!n3bXa(chKgG=bHPc|HsWA$)93Ew$*l9XY{QLM}@8Dba6Iwq?U zrM)olI2KHZWSo${;T#-75(%E714iOqdw~{R#BST?b zS9DUu(*C$Jw;F`xPIf#r#p1-y@2cR*N({|PhIChOLyFKaVZ7`o1K&_qaV8GZ1|`*0 zE4()WyLasMf`laXi4-Rb$NgqxBshUK=(5c2(O$_F`ipcBOb4$>aF0_AP^PUML$Y&} z=hnIx(#E1se06$A)4@VQ&?cXGy5)LFFfUSHY%6i(E5Gu<*>2_>rd;DR+Yy=ot$7L(9D^tcIz`ZV9PSG4 z_al`~69dKLR0qM=q)0ZMEI59~;Uag76#PnL#kK9j$c(YXEd3qt2-&n9D}Hg>zM34d zgcWHe6Q)MiJI)xM(%6h5bdb)|mHnJ%Q`9*8{1iFhMr|B9`@-uoQyD75x3`t?FWhA~ zAaAj<0@Cl{J03s5E8{Q9_wcKkeSJ?~s`xnlbgvRijx19eahiR7XRT23INfTl;)9F3 zTxN1^B@LDtp`W?3LmUC%dZKOvZrPIx{@#tlRlhxc#QgB>3r!h(IlQfSk7_?Sb zhTV&BzW=#!YIsLk1My4nY^>g;!$8P~(f=MD2BTRfzx|&wmeY8Av_k(a-dOU+1G-f* zB|Pp~Ny9&=XGV{G=Cg(&5JTEMR0?&_XNsKje=oI6(DSj<5^}%eM5$5yZXzu!2O%AdgSuU2c~D(E&W5$E&rLa9jb5Tddv^riY3h4uC|0RKciN> zq+SO9E`=GYMlZ_J;1iv?3Gxo(fN3egdwTUOyFANIWY?3~9(HY(?Phmo**H)Ppnc0HDDWp`u9q!(k^CUz;7EwLLhZ0L0uHuNqmTN*ya zi5Fo#3;Mw^gIY5{Z{d32o!FJ>cu{thKCa`VUycH0jcWZuDxSvprKqG)RN)`$ogosV z=sn!DoYEJl=`T>>=c(aS9B&QI?b8!u8J6F#U%?D&k=dBy88ZCsKK=6hz1edZIcHS2 zN_Y+Xm0A5#k|85XeHH&ADIBG?m7H)nO6`GnxS1BU2+!u*Eoyl@#@@21E*<{-@V8AZ zA4hXUNB4a#ybJue4n9uPN13`34$%c!cJ*~B8a}nFA(i^>fqzr0H8f>N*VPWGqK5bF|y=(d6*;F%bIRpH4RlJd(}GFY}2R*US_kJkJ&8nG1*cd zGkwjc)kUu^;}V zrm8g{v%G4A0#&V!jD@ON3!C#QIzbE37@Q1EwPskfS{=rvswP+#t=61XM>Qs^xt3DOtOb9-0ZaW&E5?@T>TDY*59I0R^D1A0r9CGL5?I$4CMY z6JWA-0Y-foK>q>Q7{F)(@F0L;1RyDfH63Fx(f~|~QR|gw_ul8)q1S>AB8XY9MuK3M z;c>6hAfn+}jOxS!b_UUr6Pg4ue@+-3L=R3_r7^Ds(Yq58Lg?KIokC1DHKbNWYIBJ7 zdl14PoRAdDnvSs;ixVbk&4yUk?|-psJ!GcF;bi!sO&m^!A4bMucl@xALzy40X-(O9 zM!gZQHbCa=c${uOoQ+o-VG~SXvQ7z%2?#nOrH#)F#YKyDgAa zS(V{-K7OeFrKk?m7UVwM0z)bHQ7ryyRi!d!I0UsSt7$Mq#nm*ZvYLvFPb)K@dn&8x zNIj{nR>Y=4Dr-8VVxmJZK9$8vQduD9Q&}L+Dk6f~2ho@9F#J>neQgZl-#lOhc60DB zvR5C5dz8H=$rcG=Z53wV*D7qxfi&j0bs7s}bQ*KKP-_mSG5=CJ^Itoi`F|swb^j=x zC24Cq>-RuoCRJrNU$4q+PO8de>#C}iaTHgpvVPIkn1{w%^L91n;d8CoQ%y@kHRi8c zb>^>2b=I%AI%96un%}jiQVlk>eQU7UpHqX?!l@ce(^Zo(vumwOIJYwOIITYiU`l#lrX0W=(_IEc`)Q^I2`y zZ%=LNpGbAokrKWg->ZuYTZJF%Vu7phXI+d@g{t+i7*!ZtPklXs{Sp_hfl;O5yHndz zQ|Rw)+Lr2uU+SsN@OSl;`uOH?!{GXAvjp~=T_V0)bGp|PeLB^T^l`zV`WTA~bPdpt z3mP^+uPzwT0LSNo#SL&^_&ZqxwH-E<8&VnR-%x!|!Z-A#M!45RLt+Njc{Fs&z$8Y) z#~GMs2kg#JWAVjs4V!Lk4<3p;|A1-(s%b&9Em--6z6bag{Jb=JAl9QMWjoBA0nba> z2BS%1pjRgP3BlM*bgsfWO1a@AZCvmNWk!=~S?UIfxV}Oo&-O zogMgc=GrhTY$NIF5GcbX&`h^LT|ENT_6oGXCs3jyP_Zh|SJ49fO8+H?`8X92s8X;{ zz}m3_wT=_$T)aS}j6he)3iLQhpe^MD8ed+ZBNYU)qzH6Tpy4@PjW4}4Y{nEDxuyhV zJ?8Ome=ro%vhhn5(cx~IKo6=4G^M&gHERfzR#Tw#+5+X&5y)3ppt}*&puXVMZXnS1 zhFAePp@pB<4901ZENvoWbDIiOx4A%79gz<8^_Q&H}l*2;}Z2Q0wjj-H)KvJp|9xQ=q(F0&VCm5a}b( zxxSH-S^cJ9KIlggxz{gPr=AwxoIyf1dayu=Lj>BME70tr0<9_#sMc_SE=17UcLZRrHLuY$)G(6{0SE@UFc%Lf& E51)sGfB*mh diff --git a/_modules/jaxlie/_se2/index.html b/_modules/jaxlie/_se2/index.html index fb613aa..c3837d8 100644 --- a/_modules/jaxlie/_se2/index.html +++ b/_modules/jaxlie/_se2/index.html @@ -110,7 +110,7 @@

Source code for jaxlie._se2

     # SE2-specific.
 
     unit_complex_xy: jax.Array
-    """Internal parameters. `(cos, sin, x, y)`. Shape should be `(*, 3)`."""
+    """Internal parameters. `(cos, sin, x, y)`. Shape should be `(*, 4)`."""
 
 
[docs] diff --git a/_sources/api/jaxlie/_se2/index.rst.txt b/_sources/api/jaxlie/_se2/index.rst.txt index 582b7cf..9f54a62 100644 --- a/_sources/api/jaxlie/_se2/index.rst.txt +++ b/_sources/api/jaxlie/_se2/index.rst.txt @@ -37,7 +37,7 @@ Classes :type: jax.Array - Internal parameters. ``(cos, sin, x, y)``. Shape should be ``(*, 3)``. + Internal parameters. ``(cos, sin, x, y)``. Shape should be ``(*, 4)``. .. py:method:: __repr__() diff --git a/_sources/api/jaxlie/index.rst.txt b/_sources/api/jaxlie/index.rst.txt index 09038d1..3e450e3 100644 --- a/_sources/api/jaxlie/index.rst.txt +++ b/_sources/api/jaxlie/index.rst.txt @@ -309,7 +309,7 @@ Classes :type: jax.Array - Internal parameters. ``(cos, sin, x, y)``. Shape should be ``(*, 3)``. + Internal parameters. ``(cos, sin, x, y)``. Shape should be ``(*, 4)``. .. py:method:: __repr__() diff --git a/api/jaxlie/_se2/index.html b/api/jaxlie/_se2/index.html index 36ca91a..e8a6a87 100644 --- a/api/jaxlie/_se2/index.html +++ b/api/jaxlie/_se2/index.html @@ -111,7 +111,7 @@

Classes

jax.Array

-

Internal parameters. (cos, sin, x, y). Shape should be (*, 3).

+

Internal parameters. (cos, sin, x, y). Shape should be (*, 4).

diff --git a/api/jaxlie/index.html b/api/jaxlie/index.html index b2ed22c..5e0237d 100644 --- a/api/jaxlie/index.html +++ b/api/jaxlie/index.html @@ -568,7 +568,7 @@

Classes

jax.Array

-

Internal parameters. (cos, sin, x, y). Shape should be (*, 3).

+

Internal parameters. (cos, sin, x, y). Shape should be (*, 4).

Parameters:
diff --git a/searchindex.js b/searchindex.js index 8c05453..b074a90 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/jaxlie/_base/index", "api/jaxlie/_se2/index", "api/jaxlie/_se3/index", "api/jaxlie/_so2/index", "api/jaxlie/_so3/index", "api/jaxlie/hints/index", "api/jaxlie/index", "api/jaxlie/manifold/_backprop/index", "api/jaxlie/manifold/_deltas/index", "api/jaxlie/manifold/_tree_utils/index", "api/jaxlie/manifold/index", "api/jaxlie/utils/_utils/index", "api/jaxlie/utils/index", "index", "se3_basics", "se3_optimization", "vmap_usage"], "filenames": ["api/jaxlie/_base/index.rst", "api/jaxlie/_se2/index.rst", "api/jaxlie/_se3/index.rst", "api/jaxlie/_so2/index.rst", "api/jaxlie/_so3/index.rst", "api/jaxlie/hints/index.rst", "api/jaxlie/index.rst", "api/jaxlie/manifold/_backprop/index.rst", "api/jaxlie/manifold/_deltas/index.rst", "api/jaxlie/manifold/_tree_utils/index.rst", "api/jaxlie/manifold/index.rst", "api/jaxlie/utils/_utils/index.rst", "api/jaxlie/utils/index.rst", "index.rst", "se3_basics.rst", "se3_optimization.rst", "vmap_usage.rst"], "titles": ["jaxlie._base", "jaxlie._se2", "jaxlie._se3", "jaxlie._so2", "jaxlie._so3", "jaxlie.hints", "jaxlie", "jaxlie.manifold._backprop", "jaxlie.manifold._deltas", "jaxlie.manifold._tree_utils", "jaxlie.manifold", "jaxlie.utils._utils", "jaxlie.utils", "jaxlie documentation", "Basics", "SE(3) Optimization", "jax.vmap Usage"], "terms": {"matrixliegroup": [0, 1, 2, 3, 4, 6, 8, 10, 13], "paramet": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16], "sourc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "base": [0, 1, 2, 3, 4, 5, 6, 15], "abc": [0, 1, 2, 3, 4, 6], "interfac": [0, 6], "definit": [0, 6], "matrix": [0, 1, 2, 3, 4, 6, 14], "lie": [0, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16], "group": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "py": [0, 1, 2, 3, 4, 5, 6, 15], "matrix_dim": [0, 6, 11, 12], "type": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15], "classvar": [0, 6], "int": [0, 1, 2, 3, 4, 6, 7, 10, 11, 12, 15], "dimens": [0, 6, 16], "squar": [0, 6], "output": [0, 1, 2, 3, 4, 6, 11, 12], "from": [0, 1, 2, 3, 4, 6, 14, 15, 16], "as_matrix": [0, 1, 2, 3, 4, 6, 14], "parameters_dim": [0, 6, 8, 10, 11, 12], "underli": [0, 1, 2, 3, 4, 6, 14, 15], "tangent_dim": [0, 1, 2, 3, 4, 6, 8, 10, 11, 12], "tangent": [0, 1, 2, 3, 4, 6, 7, 8, 10, 13, 15], "space": [0, 1, 2, 3, 4, 6, 7, 8, 10, 13, 15], "space_dim": [0, 6, 11, 12], "coordin": [0, 6, 15], "can": [0, 4, 6, 14, 15, 16], "transform": [0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16], "__matmul__": [0, 6], "other": [0, 3, 4, 6, 8, 10, 14, 15, 16], "typing_extens": [0, 6, 15], "self": [0, 1, 2, 3, 4, 6, 15], "hint": [0, 1, 2, 3, 4, 6, 8, 10, 13], "arrai": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16], "jax": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15], "overload": [0, 6], "oper": [0, 6, 14, 16], "switch": [0, 6, 15], "between": [0, 1, 2, 3, 4, 6], "action": [0, 3, 4, 6], "appli": [0, 3, 4, 6, 8, 14, 16], "multipl": [0, 6, 16], "multipli": [0, 3, 4, 6, 13, 14, 16], "abstract": [0, 6], "classmethod": [0, 1, 2, 3, 4, 6], "ident": [0, 1, 2, 3, 4, 6, 13, 14], "batch_ax": [0, 1, 2, 3, 4, 6], "return": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 15], "element": [0, 1, 2, 3, 4, 6], "tupl": [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 15], "ellipsi": [0, 1, 2, 3, 4, 6, 7, 10], "ani": [0, 1, 2, 3, 4, 6, 7, 10, 15], "lead": [0, 1, 2, 3, 4, 6, 11, 12, 13], "batch": [0, 1, 2, 3, 4, 6, 16], "ax": [0, 1, 2, 3, 4, 6, 11, 12, 13], "from_matrix": [0, 1, 2, 3, 4, 6, 14], "get": [0, 1, 2, 3, 4, 6], "member": [0, 1, 2, 3, 4, 6], "represent": [0, 1, 2, 3, 4, 6, 15], "representaiton": [0, 1, 2, 3, 4, 6], "homogen": [0, 1, 2, 3, 4, 6, 14], "se": [0, 1, 2, 3, 4, 6, 13, 14], "target": [0, 3, 4, 6], "point": [0, 3, 4, 6, 14, 16], "compos": [0, 3, 4, 6, 14], "thi": [0, 1, 3, 4, 6, 14, 15, 16], "anoth": [0, 3, 4, 6], "exp": [0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15], "comput": [0, 1, 2, 3, 4, 6, 7, 8, 10, 14, 15], "expm": [0, 1, 2, 3, 4, 6, 14], "wedg": [0, 1, 2, 3, 4, 6, 14], "vector": [0, 1, 2, 3, 4, 6, 7, 10, 16], "take": [0, 1, 2, 3, 4, 6, 11, 12, 15], "exponenti": [0, 1, 2, 3, 4, 6, 15], "log": [0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15], "vee": [0, 1, 2, 3, 4, 6, 14], "logm": [0, 1, 2, 3, 4, 6, 14], "shape": [0, 1, 2, 3, 4, 6, 8, 10, 11, 12, 14, 16], "should": [0, 1, 2, 3, 4, 6, 8, 10, 15], "adjoint": [0, 1, 2, 3, 4, 6, 13, 14], "which": [0, 1, 2, 3, 4, 6, 11, 12, 15], "more": [0, 1, 2, 3, 4, 6, 16], "precis": [0, 1, 2, 3, 4, 6, 11, 12], "grouptyp": [0, 1, 2, 3, 4, 6, 8, 10], "omega": [0, 1, 2, 3, 4, 6], "adj_t": [0, 1, 2, 3, 4, 6], "In": [0, 1, 2, 3, 4, 6], "robot": [0, 1, 2, 3, 4, 6], "typic": [0, 1, 2, 3, 4, 6], "us": [0, 1, 2, 3, 4, 6, 8, 10, 15, 16], "twist": [0, 1, 2, 3, 4, 6, 14], "wrench": [0, 1, 2, 3, 4, 6], "jacobian": [0, 1, 2, 3, 4, 6, 8, 10, 13], "across": [0, 1, 2, 3, 4, 6], "differ": [0, 1, 2, 3, 4, 6], "refer": [0, 1, 2, 3, 4, 6], "frame": [0, 1, 2, 3, 4, 6], "invers": [0, 3, 4, 6, 8, 10, 13, 14, 15], "our": [0, 3, 4, 6, 14, 15], "normal": [0, 3, 4, 6, 9, 10], "project": [0, 3, 4, 6, 9, 10, 15], "valu": [0, 3, 4, 6, 7, 10], "sample_uniform": [0, 1, 2, 3, 4, 6, 15], "kei": [0, 1, 2, 3, 4, 6], "draw": [0, 1, 2, 3, 4, 6], "uniform": [0, 1, 2, 3, 4, 6, 16], "sampl": [0, 1, 2, 3, 4, 6], "translat": [0, 1, 2, 3, 4, 6, 14], "applic": [0, 1, 2, 3, 4, 6], "ar": [0, 1, 2, 3, 4, 6, 8, 10, 14, 15, 16], "rang": [0, 1, 2, 3, 4, 6, 15], "1": [0, 1, 2, 3, 4, 6, 8, 10, 14, 15, 16], "prng": [0, 1, 2, 3, 4, 6, 15], "random": [0, 1, 2, 3, 4, 6, 14, 15, 16], "prngkei": [0, 1, 2, 3, 4, 6, 15], "each": [0, 1, 2, 3, 4, 6, 9, 10, 13, 15], "get_batch_ax": [0, 6], "contain": [0, 4, 5, 6, 8, 10, 16], "If": [0, 6, 15], "an": [0, 4, 6, 11, 12, 14, 15, 16], "100": [0, 6, 16], "4": [0, 4, 6, 14, 16], "i": [0, 1, 2, 3, 4, 6, 13, 14, 15, 16], "place": [0, 6], "wxyz": [0, 2, 4, 6, 16], "field": [0, 6, 14], "so3": [0, 2, 4, 6, 13, 14, 16], "object": [0, 3, 6, 8, 10, 11, 12, 14, 16], "exampl": [0, 6, 15], "sobas": [0, 3, 4, 6, 13], "special": [0, 1, 2, 3, 4, 6], "orthogon": [0, 3, 4, 6], "containedsotyp": [0, 6], "sebas": [0, 1, 2, 6, 13], "gener": [0, 1, 2, 4, 6, 13, 14, 15], "euclidean": [0, 1, 2, 6, 8, 10], "n": [0, 6, 16], "so": [0, 6, 13, 16], "rotat": [0, 1, 2, 3, 4, 6, 14, 15, 16], "well": [0, 6], "dimension": [0, 6, 11, 12], "method": [0, 6, 11, 12], "from_rotation_and_transl": [0, 1, 2, 6, 14], "abstractmethod": [0, 6], "construct": [0, 1, 2, 3, 4, 6, 14], "rigid": [0, 1, 2, 6, 13], "param": [0, 6, 15], "term": [0, 1, 2, 6, 8, 10, 14, 15], "from_rot": [0, 6], "from_transl": [0, 6], "": [0, 1, 2, 6, 15], "se2": [1, 6, 13], "so2": [1, 3, 6, 13], "proper": [1, 2, 6], "2d": [1, 3, 6], "broadcast": [1, 2, 3, 4, 6, 11, 12, 13, 16], "rule": [1, 2, 3, 4, 6], "same": [1, 2, 3, 4, 6, 7, 10, 15, 16], "numpi": [1, 2, 3, 4, 6, 11, 12, 14, 15, 16], "intern": [1, 2, 3, 4, 6], "parameter": [1, 2, 3, 4, 6, 14, 15], "co": [1, 3, 6], "sin": [1, 3, 6], "x": [1, 2, 4, 6, 15, 16], "y": [1, 2, 4, 6], "vx": [1, 2, 6], "vy": [1, 2, 6], "attribut": [1, 2, 3, 4, 6], "unit_complex_xi": [1, 6], "3": [1, 6, 13, 14, 16], "__repr__": [1, 2, 3, 4, 6], "repr": [1, 2, 3, 4, 6], "str": [1, 2, 3, 4, 6], "static": [1, 2, 3, 4, 6, 15], "from_xy_theta": [1, 6], "theta": [1, 3, 4, 6], "standard": [1, 6, 15, 16], "pose": [1, 6, 15], "note": [1, 4, 6, 8, 10, 15, 16], "integr": [1, 6, 14], "over": [1, 6, 14, 15, 16], "length": [1, 6, 14], "scalar": [1, 3, 4, 5, 6], "jax_dataclass": [1, 2, 3, 4, 6, 15], "se3": [2, 6, 13, 14, 15], "3d": [2, 4, 6], "qw": [2, 4, 6], "qx": [2, 4, 6], "qy": [2, 4, 6], "qz": [2, 4, 6], "z": [2, 4, 6], "vz": [2, 6], "omega_x": [2, 4, 6], "omega_i": [2, 4, 6], "omega_z": [2, 4, 6], "wxyz_xyz": [2, 6, 14], "quaternion": [2, 4, 6, 14, 15], "follow": [2, 6, 15, 16], "xyz": [2, 6], "7": [2, 6, 14], "unit_complex": [3, 6], "2": [3, 6, 13, 14, 15, 16], "from_radian": [3, 6], "angl": [3, 4, 5, 6], "as_radian": [3, 6], "w": [4, 6, 14], "from_x_radian": [4, 6, 16], "axi": [4, 6, 16], "radian": [4, 6], "from_y_radian": [4, 6], "from_z_radian": [4, 6], "from_rpy_radian": [4, 6], "roll": [4, 5, 6], "pitch": [4, 5, 6], "yaw": [4, 5, 6], "set": [4, 6, 11, 12], "euler": [4, 5, 6], "zyx": [4, 6], "mobil": [4, 6], "convent": [4, 6], "first": [4, 6], "second": [4, 6, 15], "last": [4, 6], "from_quaternion_xyzw": [4, 6], "xyzw": [4, 6], "default": [4, 6], "dataclass": [4, 6, 11, 12, 13, 14], "constructor": [4, 6, 14], "as_quaternion_xyzw": [4, 6], "grab": [4, 6, 8, 10, 11, 12], "as_rpy_radian": [4, 6], "name": [4, 6], "rollpitchyaw": [4, 5, 6], "compute_roll_radian": [4, 6], "compute_pitch_radian": [4, 6], "compute_yaw_radian": [4, 6], "alia": 5, "union": [5, 15], "onp": [5, 8, 10, 14, 16], "ndarrai": 5, "float": [5, 11, 12, 15], "namedtupl": 5, "manifold": [6, 13, 15], "util": [6, 13], "zero_tang": [7, 10, 15], "pytre": [7, 8, 9, 10, 13, 16], "replac": [7, 10, 15], "all": [7, 8, 10, 11, 12, 13, 14, 16], "zero": [7, 8, 10], "correspond": [7, 8, 10], "_tree_util": [7, 8, 10], "tangentpytre": [7, 8, 9, 10], "axisnam": [7, 10], "p": [7, 10, 16], "grad": [7, 10, 15], "fun": [7, 10], "callabl": [7, 10, 11, 12], "argnum": [7, 8, 10], "0": [7, 10, 14, 15, 16], "has_aux": [7, 10], "bool": [7, 10], "fals": [7, 10], "holomorph": [7, 10], "allow_int": [7, 10], "reduce_ax": [7, 10], "sequenc": [7, 10], "gradient": [7, 10, 15], "respect": [7, 9, 10], "value_and_grad": [7, 10, 15], "helper": [8, 11, 12, 13, 14, 15], "recurs": [8, 10], "delta": [8, 10], "pytreetyp": [8, 9, 10], "rplu": [8, 10, 15], "right": [8, 10], "plu": [8, 10], "t": [8, 10, 11, 12, 14, 15], "support": [8, 10], "instanc": [8, 9, 10, 15], "simpl": [8, 10, 14], "addit": [8, 10], "perform": [8, 10], "rminu": [8, 10], "b": [8, 10, 14, 15], "minu": [8, 10], "t_ab": [8, 10, 15], "t_wa": [8, 10], "t_wb": [8, 10], "subtract": [8, 10], "rplus_jacobian_parameters_wrt_delta": [8, 10], "analyt": [8, 10, 13], "linear": [8, 10], "around": [8, 10], "local": [8, 10, 15], "mostli": [8, 10], "reduc": [8, 10], "jit": [8, 10, 11, 12, 15, 16], "compil": [8, 10, 11, 12, 15], "time": [8, 10, 15], "optim": [8, 10, 13], "equival": [8, 10, 14, 16], "def": [8, 10, 15], "sinc": [8, 10], "jacfwd": [8, 10], "itself": [8, 10], "explicitli": [8, 10], "arg": [8, 10, 15], "wrt": [8, 10], "normalize_al": [9, 10, 15], "call": [9, 10, 16], "result": [9, 10], "naiv": [9, 10], "its": [9, 10], "get_epsilon": [11, 12], "dtype": [11, 12], "specif": [11, 12, 14], "constant": [11, 12], "datatyp": [11, 12], "register_lie_group": [11, 12], "decor": [11, 12], "regist": [11, 12], "class": [11, 12, 15], "variabl": [11, 12, 15], "mark": [11, 12], "tupleofbroadcast": [11, 12], "broadcast_leading_ax": [11, 12], "input": [11, 12], "either": [11, 12, 15], "we": [11, 12, 14, 15, 16], "assum": [11, 12], "ha": [11, 12, 16], "d": [11, 12], "theori": 13, "librari": 13, "bodi": 13, "current": 13, "function": [13, 16], "implement": [13, 16], "high": [13, 16], "level": 13, "registr": 13, "code": 13, "github": 13, "basic": 13, "vmap": 13, "import": [14, 15, 16], "jaxli": [14, 15, 16], "print": [14, 15], "screw": 14, "5": [14, 16], "t_w_b": 14, "f": [14, 15], "Or": [14, 16], "share": 14, "There": 14, "also": [14, 16], "eg": 14, "matric": 14, "explicit": [14, 16], "p_b": 14, "randn": 14, "p_w": 14, "form": 14, "append": [14, 15], "t_b_a": 14, "t_w_a": 14, "misc": 14, "t_b_w": 14, "adjoint_t_w_b": 14, "recov": 14, "recovered_twist": 14, "compar": [15, 16], "algorithm": 15, "run": 15, "adam": 15, "three": 15, "approach": [15, 16], "updat": 15, "retract": 15, "back": 15, "global": 15, "step": 15, "most": 15, "stabl": 15, "directli": 15, "after": [15, 16], "let": 15, "u": 15, "without": 15, "modif": 15, "number": 15, "train": 15, "learn": 15, "rate": 15, "configur": 15, "see": 15, "python": 15, "se3_optim": 15, "help": 15, "__future__": 15, "annot": 15, "list": 15, "liter": 15, "jdc": 15, "matplotlib": 15, "pyplot": 15, "plt": 15, "optax": 15, "tyro": 15, "jnp": 15, "assert_nev": 15, "pytree_dataclass": 15, "under": 15, "hood": 15, "redund": 15, "here": [15, 16], "given": 15, "t_bc": 15, "t_ca": 15, "focus": 15, "make": 15, "consist": 15, "exponentialcoordinatesparamet": 15, "log_t_ab": 15, "log_t_bc": 15, "log_t_ca": 15, "properti": 15, "staticmethod": 15, "from_glob": 15, "compute_loss": 15, "As": 15, "loss": 15, "enforc": 15, "prior": 15, "constraint": 15, "t_ba_prior": 15, "t_cb_prior": 15, "sum": 15, "tangent_spac": 15, "exponential_coordin": 15, "state": 15, "gradienttransform": 15, "optimizer_st": 15, "optstat": 15, "initi": 15, "learning_r": 15, "problem": 15, "won": 15, "split": 15, "num": 15, "global_param": 15, "statist": 15, "init": 15, "elif": 15, "els": 15, "one": [15, 16], "drop": 15, "new_optimizer_st": 15, "new_param": 15, "apply_upd": 15, "assert": [15, 16], "structur": [15, 16], "copy_and_mut": 15, "valid": 15, "true": 15, "new_stat": 15, "run_experi": 15, "train_step": 15, "via": 15, "don": 15, "includ": 15, "start_tim": 15, "20": 15, "03d": 15, "flush": 15, "tconverg": 15, "tafter": 15, "main": 15, "1000": 15, "1e": 15, "none": [15, 16], "experi": 15, "plot": 15, "label": 15, "yscale": 15, "legend": 15, "show": 15, "__name__": 15, "__main__": 15, "cli": 15, "style": 16, "For": 16, "omit": 16, "breviti": 16, "practic": 16, "usual": 16, "want": 16, "setup": 16, "start": 16, "creat": 16, "two": 16, "r_singl": 16, "singl": 16, "r_stack": 16, "stack": 16, "togeth": 16, "pi": 16, "low": 16, "size": 16, "p_singl": 16, "p_stack": 16, "recal": 16, "p_transformed_singl": 16, "just": 16, "syntact": 16, "sugar": 16, "semant": 16, "p_transformed_stack": 16, "lambda": 16, "reli": 16, "both": 16, "have": 16, "counterpart": 16, "therefor": 16, "argument": 16, "r": 16, "6": 16, "The": 16, "concept": 16, "abov": 16, "And": 16, "do": 16, "again": 16, "work": 16}, "objects": {"": [[6, 0, 0, "-", "jaxlie"]], "jaxlie": [[6, 1, 1, "", "MatrixLieGroup"], [6, 1, 1, "", "SE2"], [6, 1, 1, "", "SE3"], [6, 1, 1, "", "SEBase"], [6, 1, 1, "", "SO2"], [6, 1, 1, "", "SO3"], [6, 1, 1, "", "SOBase"], [0, 0, 0, "-", "_base"], [1, 0, 0, "-", "_se2"], [2, 0, 0, "-", "_se3"], [3, 0, 0, "-", "_so2"], [4, 0, 0, "-", "_so3"], [5, 0, 0, "-", "hints"], [10, 0, 0, "-", "manifold"], [12, 0, 0, "-", "utils"]], "jaxlie.MatrixLieGroup": [[6, 2, 1, "", "__matmul__"], [6, 2, 1, "", "adjoint"], [6, 2, 1, "", "apply"], [6, 2, 1, "", "as_matrix"], [6, 2, 1, "", "exp"], [6, 2, 1, "", "from_matrix"], [6, 2, 1, "", "get_batch_axes"], [6, 2, 1, "", "identity"], [6, 2, 1, "", "inverse"], [6, 2, 1, "", "log"], [6, 2, 1, "", "multiply"], [6, 2, 1, "", "normalize"], [6, 2, 1, "", "parameters"], [6, 3, 1, "", "parameters_dim"], [6, 2, 1, "", "sample_uniform"], [6, 3, 1, "", "space_dim"], [6, 3, 1, "", "tangent_dim"]], "jaxlie.SE2": [[6, 2, 1, "", "__repr__"], [6, 2, 1, "", "adjoint"], [6, 2, 1, "", "as_matrix"], [6, 2, 1, "", "exp"], [6, 2, 1, "", "from_matrix"], [6, 2, 1, "", "from_rotation_and_translation"], [6, 2, 1, "", "from_xy_theta"], [6, 2, 1, "", "identity"], [6, 2, 1, "", "log"], [6, 2, 1, "", "parameters"], [6, 2, 1, "", "rotation"], [6, 2, 1, "", "sample_uniform"], [6, 2, 1, "", "translation"]], "jaxlie.SE3": [[6, 2, 1, "", "__repr__"], [6, 2, 1, "", "adjoint"], [6, 2, 1, "", "as_matrix"], [6, 2, 1, "", "exp"], [6, 2, 1, "", "from_matrix"], [6, 2, 1, "", "from_rotation_and_translation"], [6, 2, 1, "", "identity"], [6, 2, 1, "", "log"], [6, 2, 1, "", "parameters"], [6, 2, 1, "", "rotation"], [6, 2, 1, "", "sample_uniform"], [6, 2, 1, "", "translation"]], "jaxlie.SEBase": [[6, 2, 1, "", "apply"], [6, 2, 1, "", "from_rotation"], [6, 2, 1, "", "from_translation"], [6, 2, 1, "", "inverse"], [6, 2, 1, "", "multiply"], [6, 2, 1, "", "normalize"], [6, 2, 1, "", "rotation"], [6, 2, 1, "", "translation"]], "jaxlie.SO2": [[6, 2, 1, "", "__repr__"], [6, 2, 1, "", "adjoint"], [6, 2, 1, "", "apply"], [6, 2, 1, "", "as_matrix"], [6, 2, 1, "", "as_radians"], [6, 2, 1, "", "exp"], [6, 2, 1, "", "from_matrix"], [6, 2, 1, "", "from_radians"], [6, 2, 1, "", "identity"], [6, 2, 1, "", "inverse"], [6, 2, 1, "", "log"], [6, 2, 1, "", "multiply"], [6, 2, 1, "", "normalize"], [6, 2, 1, "", "parameters"], [6, 2, 1, "", "sample_uniform"]], "jaxlie.SO3": [[6, 2, 1, "", "__repr__"], [6, 2, 1, "", "adjoint"], [6, 2, 1, "", "apply"], [6, 2, 1, "", "as_matrix"], [6, 2, 1, "", "as_quaternion_xyzw"], [6, 2, 1, "", "as_rpy_radians"], [6, 2, 1, "", "compute_pitch_radians"], [6, 2, 1, "", "compute_roll_radians"], [6, 2, 1, "", "compute_yaw_radians"], [6, 2, 1, "", "exp"], [6, 2, 1, "", "from_matrix"], [6, 2, 1, "", "from_quaternion_xyzw"], [6, 2, 1, "", "from_rpy_radians"], [6, 2, 1, "", "from_x_radians"], [6, 2, 1, "", "from_y_radians"], [6, 2, 1, "", "from_z_radians"], [6, 2, 1, "", "identity"], [6, 2, 1, "", "inverse"], [6, 2, 1, "", "log"], [6, 2, 1, "", "multiply"], [6, 2, 1, "", "normalize"], [6, 2, 1, "", "parameters"], [6, 2, 1, "", "sample_uniform"]], "jaxlie._base": [[0, 4, 1, "", "ContainedSOType"], [0, 1, 1, "", "MatrixLieGroup"], [0, 1, 1, "", "SEBase"], [0, 1, 1, "", "SOBase"]], "jaxlie._base.MatrixLieGroup": [[0, 2, 1, "", "__matmul__"], [0, 2, 1, "", "adjoint"], [0, 2, 1, "", "apply"], [0, 2, 1, "", "as_matrix"], [0, 2, 1, "", "exp"], [0, 2, 1, "", "from_matrix"], [0, 2, 1, "", "get_batch_axes"], [0, 2, 1, "", "identity"], [0, 2, 1, "", "inverse"], [0, 2, 1, "", "log"], [0, 2, 1, "", "multiply"], [0, 2, 1, "", "normalize"], [0, 2, 1, "", "parameters"], [0, 3, 1, "", "parameters_dim"], [0, 2, 1, "", "sample_uniform"], [0, 3, 1, "", "space_dim"], [0, 3, 1, "", "tangent_dim"]], "jaxlie._base.SEBase": [[0, 2, 1, "", "apply"], [0, 2, 1, "", "from_rotation"], [0, 2, 1, "", "from_translation"], [0, 2, 1, "", "inverse"], [0, 2, 1, "", "multiply"], [0, 2, 1, "", "normalize"], [0, 2, 1, "", "rotation"], [0, 2, 1, "", "translation"]], "jaxlie._se2": [[1, 1, 1, "", "SE2"]], "jaxlie._se2.SE2": [[1, 2, 1, "", "__repr__"], [1, 2, 1, "", "adjoint"], [1, 2, 1, "", "as_matrix"], [1, 2, 1, "", "exp"], [1, 2, 1, "", "from_matrix"], [1, 2, 1, "", "from_rotation_and_translation"], [1, 2, 1, "", "from_xy_theta"], [1, 2, 1, "", "identity"], [1, 2, 1, "", "log"], [1, 2, 1, "", "parameters"], [1, 2, 1, "", "rotation"], [1, 2, 1, "", "sample_uniform"], [1, 2, 1, "", "translation"]], "jaxlie._se3": [[2, 1, 1, "", "SE3"]], "jaxlie._se3.SE3": [[2, 2, 1, "", "__repr__"], [2, 2, 1, "", "adjoint"], [2, 2, 1, "", "as_matrix"], [2, 2, 1, "", "exp"], [2, 2, 1, "", "from_matrix"], [2, 2, 1, "", "from_rotation_and_translation"], [2, 2, 1, "", "identity"], [2, 2, 1, "", "log"], [2, 2, 1, "", "parameters"], [2, 2, 1, "", "rotation"], [2, 2, 1, "", "sample_uniform"], [2, 2, 1, "", "translation"]], "jaxlie._so2": [[3, 1, 1, "", "SO2"]], "jaxlie._so2.SO2": [[3, 2, 1, "", "__repr__"], [3, 2, 1, "", "adjoint"], [3, 2, 1, "", "apply"], [3, 2, 1, "", "as_matrix"], [3, 2, 1, "", "as_radians"], [3, 2, 1, "", "exp"], [3, 2, 1, "", "from_matrix"], [3, 2, 1, "", "from_radians"], [3, 2, 1, "", "identity"], [3, 2, 1, "", "inverse"], [3, 2, 1, "", "log"], [3, 2, 1, "", "multiply"], [3, 2, 1, "", "normalize"], [3, 2, 1, "", "parameters"], [3, 2, 1, "", "sample_uniform"]], "jaxlie._so3": [[4, 1, 1, "", "SO3"]], "jaxlie._so3.SO3": [[4, 2, 1, "", "__repr__"], [4, 2, 1, "", "adjoint"], [4, 2, 1, "", "apply"], [4, 2, 1, "", "as_matrix"], [4, 2, 1, "", "as_quaternion_xyzw"], [4, 2, 1, "", "as_rpy_radians"], [4, 2, 1, "", "compute_pitch_radians"], [4, 2, 1, "", "compute_roll_radians"], [4, 2, 1, "", "compute_yaw_radians"], [4, 2, 1, "", "exp"], [4, 2, 1, "", "from_matrix"], [4, 2, 1, "", "from_quaternion_xyzw"], [4, 2, 1, "", "from_rpy_radians"], [4, 2, 1, "", "from_x_radians"], [4, 2, 1, "", "from_y_radians"], [4, 2, 1, "", "from_z_radians"], [4, 2, 1, "", "identity"], [4, 2, 1, "", "inverse"], [4, 2, 1, "", "log"], [4, 2, 1, "", "multiply"], [4, 2, 1, "", "normalize"], [4, 2, 1, "", "parameters"], [4, 2, 1, "", "sample_uniform"]], "jaxlie.hints": [[5, 4, 1, "", "Array"], [5, 1, 1, "", "RollPitchYaw"], [5, 4, 1, "", "Scalar"]], "jaxlie.hints.RollPitchYaw": [[5, 3, 1, "", "pitch"], [5, 3, 1, "", "yaw"]], "jaxlie.manifold": [[7, 0, 0, "-", "_backprop"], [8, 0, 0, "-", "_deltas"], [9, 0, 0, "-", "_tree_utils"], [10, 5, 1, "", "grad"], [10, 5, 1, "", "normalize_all"], [10, 5, 1, "", "rminus"], [10, 5, 1, "", "rplus"], [10, 5, 1, "", "rplus_jacobian_parameters_wrt_delta"], [10, 5, 1, "", "value_and_grad"], [10, 5, 1, "", "zero_tangents"]], "jaxlie.manifold._backprop": [[7, 4, 1, "", "AxisName"], [7, 4, 1, "", "P"], [7, 5, 1, "", "grad"], [7, 5, 1, "", "value_and_grad"], [7, 5, 1, "", "zero_tangents"]], "jaxlie.manifold._deltas": [[8, 4, 1, "", "GroupType"], [8, 4, 1, "", "PytreeType"], [8, 5, 1, "", "rminus"], [8, 5, 1, "", "rplus"], [8, 5, 1, "", "rplus_jacobian_parameters_wrt_delta"]], "jaxlie.manifold._tree_utils": [[9, 4, 1, "", "PytreeType"], [9, 4, 1, "", "TangentPytree"], [9, 5, 1, "", "normalize_all"]], "jaxlie.utils": [[11, 0, 0, "-", "_utils"], [12, 5, 1, "", "broadcast_leading_axes"], [12, 5, 1, "", "get_epsilon"], [12, 5, 1, "", "register_lie_group"]], "jaxlie.utils._utils": [[11, 4, 1, "", "T"], [11, 4, 1, "", "TupleOfBroadcastable"], [11, 5, 1, "", "broadcast_leading_axes"], [11, 5, 1, "", "get_epsilon"], [11, 5, 1, "", "register_lie_group"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:data", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "data", "Python data"], "5": ["py", "function", "Python function"]}, "titleterms": {"jaxli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "_base": 0, "modul": [0, 1, 2, 3, 4, 7, 8, 9, 11], "content": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], "class": [0, 1, 2, 3, 4, 5, 6], "attribut": [0, 5, 7, 8, 9, 11], "_se2": 1, "_se3": 2, "_so2": 3, "_so3": 4, "hint": 5, "packag": [5, 6, 10, 12], "subpackag": 6, "manifold": [7, 8, 9, 10], "_backprop": 7, "function": [7, 8, 9, 10, 11, 12], "_delta": 8, "_tree_util": 9, "util": [11, 12], "_util": 11, "document": 13, "api": 13, "refer": 13, "exampl": 13, "usag": [13, 16], "basic": 14, "se": 15, "3": 15, "optim": 15, "jax": 16, "vmap": 16}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"jaxlie._base": [[0, "module-jaxlie._base"]], "Module Contents": [[0, "module-contents"], [1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [7, "module-contents"], [8, "module-contents"], [9, "module-contents"], [11, "module-contents"]], "Classes": [[0, "classes"], [1, "classes"], [2, "classes"], [3, "classes"], [4, "classes"], [5, "classes"], [6, "classes"]], "Attributes": [[0, "attributes"], [5, "attributes"], [7, "attributes"], [8, "attributes"], [9, "attributes"], [11, "attributes"]], "jaxlie._se2": [[1, "module-jaxlie._se2"]], "jaxlie._se3": [[2, "module-jaxlie._se3"]], "jaxlie._so2": [[3, "module-jaxlie._so2"]], "jaxlie._so3": [[4, "module-jaxlie._so3"]], "jaxlie.hints": [[5, "module-jaxlie.hints"]], "Package Contents": [[5, "package-contents"], [6, "package-contents"], [10, "package-contents"], [12, "package-contents"]], "jaxlie": [[6, "module-jaxlie"]], "Subpackages": [[6, "subpackages"]], "jaxlie.manifold._backprop": [[7, "module-jaxlie.manifold._backprop"]], "Functions": [[7, "functions"], [8, "functions"], [9, "functions"], [10, "functions"], [11, "functions"], [12, "functions"]], "jaxlie.manifold._deltas": [[8, "module-jaxlie.manifold._deltas"]], "jaxlie.manifold._tree_utils": [[9, "module-jaxlie.manifold._tree_utils"]], "jaxlie.manifold": [[10, "module-jaxlie.manifold"]], "jaxlie.utils._utils": [[11, "module-jaxlie.utils._utils"]], "jaxlie.utils": [[12, "module-jaxlie.utils"]], "jaxlie documentation": [[13, "jaxlie-documentation"]], "API Reference": [[13, null]], "Example usage": [[13, null]], "Basics": [[14, "basics"]], "SE(3) Optimization": [[15, "se-3-optimization"]], "jax.vmap Usage": [[16, "jax-vmap-usage"]]}, "indexentries": {"containedsotype (in module jaxlie._base)": [[0, "jaxlie._base.ContainedSOType"]], "matrixliegroup (class in jaxlie._base)": [[0, "jaxlie._base.MatrixLieGroup"]], "sebase (class in jaxlie._base)": [[0, "jaxlie._base.SEBase"]], "sobase (class in jaxlie._base)": [[0, "jaxlie._base.SOBase"]], "__matmul__() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.__matmul__"]], "adjoint() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.adjoint"]], "apply() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.apply"]], "apply() (jaxlie._base.sebase method)": [[0, "jaxlie._base.SEBase.apply"]], "as_matrix() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.as_matrix"]], "exp() (jaxlie._base.matrixliegroup class method)": [[0, "jaxlie._base.MatrixLieGroup.exp"]], "from_matrix() (jaxlie._base.matrixliegroup class method)": [[0, "jaxlie._base.MatrixLieGroup.from_matrix"]], "from_rotation() (jaxlie._base.sebase class method)": [[0, "jaxlie._base.SEBase.from_rotation"]], "from_translation() (jaxlie._base.sebase class method)": [[0, "jaxlie._base.SEBase.from_translation"]], "get_batch_axes() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.get_batch_axes"]], "identity() (jaxlie._base.matrixliegroup class method)": [[0, "jaxlie._base.MatrixLieGroup.identity"]], "inverse() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.inverse"]], "inverse() (jaxlie._base.sebase method)": [[0, "jaxlie._base.SEBase.inverse"]], "jaxlie._base": [[0, "module-jaxlie._base"]], "log() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.log"]], "module": [[0, "module-jaxlie._base"], [1, "module-jaxlie._se2"], [2, "module-jaxlie._se3"], [3, "module-jaxlie._so2"], [4, "module-jaxlie._so3"], [5, "module-jaxlie.hints"], [6, "module-jaxlie"], [7, "module-jaxlie.manifold._backprop"], [8, "module-jaxlie.manifold._deltas"], [9, "module-jaxlie.manifold._tree_utils"], [10, "module-jaxlie.manifold"], [11, "module-jaxlie.utils._utils"], [12, "module-jaxlie.utils"]], "multiply() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.multiply"]], "multiply() (jaxlie._base.sebase method)": [[0, "jaxlie._base.SEBase.multiply"]], "normalize() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.normalize"]], "normalize() (jaxlie._base.sebase method)": [[0, "jaxlie._base.SEBase.normalize"]], "parameters() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.parameters"]], "parameters_dim (jaxlie._base.matrixliegroup attribute)": [[0, "jaxlie._base.MatrixLieGroup.parameters_dim"]], "rotation() (jaxlie._base.sebase method)": [[0, "jaxlie._base.SEBase.rotation"]], "sample_uniform() (jaxlie._base.matrixliegroup class method)": [[0, "jaxlie._base.MatrixLieGroup.sample_uniform"]], "space_dim (jaxlie._base.matrixliegroup attribute)": [[0, "jaxlie._base.MatrixLieGroup.space_dim"]], "tangent_dim (jaxlie._base.matrixliegroup attribute)": [[0, "jaxlie._base.MatrixLieGroup.tangent_dim"]], "translation() (jaxlie._base.sebase method)": [[0, "jaxlie._base.SEBase.translation"]], "se2 (class in jaxlie._se2)": [[1, "jaxlie._se2.SE2"]], "__repr__() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.__repr__"]], "adjoint() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.adjoint"]], "as_matrix() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.as_matrix"]], "exp() (jaxlie._se2.se2 class method)": [[1, "jaxlie._se2.SE2.exp"]], "from_matrix() (jaxlie._se2.se2 class method)": [[1, "jaxlie._se2.SE2.from_matrix"]], "from_rotation_and_translation() (jaxlie._se2.se2 class method)": [[1, "jaxlie._se2.SE2.from_rotation_and_translation"]], "from_xy_theta() (jaxlie._se2.se2 static method)": [[1, "jaxlie._se2.SE2.from_xy_theta"]], "identity() (jaxlie._se2.se2 class method)": [[1, "jaxlie._se2.SE2.identity"]], "jaxlie._se2": [[1, "module-jaxlie._se2"]], "log() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.log"]], "parameters() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.parameters"]], "rotation() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.rotation"]], "sample_uniform() (jaxlie._se2.se2 class method)": [[1, "jaxlie._se2.SE2.sample_uniform"]], "translation() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.translation"]], "se3 (class in jaxlie._se3)": [[2, "jaxlie._se3.SE3"]], "__repr__() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.__repr__"]], "adjoint() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.adjoint"]], "as_matrix() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.as_matrix"]], "exp() (jaxlie._se3.se3 class method)": [[2, "jaxlie._se3.SE3.exp"]], "from_matrix() (jaxlie._se3.se3 class method)": [[2, "jaxlie._se3.SE3.from_matrix"]], "from_rotation_and_translation() (jaxlie._se3.se3 class method)": [[2, "jaxlie._se3.SE3.from_rotation_and_translation"]], "identity() (jaxlie._se3.se3 class method)": [[2, "jaxlie._se3.SE3.identity"]], "jaxlie._se3": [[2, "module-jaxlie._se3"]], "log() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.log"]], "parameters() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.parameters"]], "rotation() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.rotation"]], "sample_uniform() (jaxlie._se3.se3 class method)": [[2, "jaxlie._se3.SE3.sample_uniform"]], "translation() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.translation"]], "so2 (class in jaxlie._so2)": [[3, "jaxlie._so2.SO2"]], "__repr__() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.__repr__"]], "adjoint() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.adjoint"]], "apply() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.apply"]], "as_matrix() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.as_matrix"]], "as_radians() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.as_radians"]], "exp() (jaxlie._so2.so2 class method)": [[3, "jaxlie._so2.SO2.exp"]], "from_matrix() (jaxlie._so2.so2 class method)": [[3, "jaxlie._so2.SO2.from_matrix"]], "from_radians() (jaxlie._so2.so2 static method)": [[3, "jaxlie._so2.SO2.from_radians"]], "identity() (jaxlie._so2.so2 class method)": [[3, "jaxlie._so2.SO2.identity"]], "inverse() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.inverse"]], "jaxlie._so2": [[3, "module-jaxlie._so2"]], "log() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.log"]], "multiply() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.multiply"]], "normalize() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.normalize"]], "parameters() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.parameters"]], "sample_uniform() (jaxlie._so2.so2 class method)": [[3, "jaxlie._so2.SO2.sample_uniform"]], "so3 (class in jaxlie._so3)": [[4, "jaxlie._so3.SO3"]], "__repr__() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.__repr__"]], "adjoint() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.adjoint"]], "apply() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.apply"]], "as_matrix() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.as_matrix"]], "as_quaternion_xyzw() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.as_quaternion_xyzw"]], "as_rpy_radians() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.as_rpy_radians"]], "compute_pitch_radians() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.compute_pitch_radians"]], "compute_roll_radians() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.compute_roll_radians"]], "compute_yaw_radians() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.compute_yaw_radians"]], "exp() (jaxlie._so3.so3 class method)": [[4, "jaxlie._so3.SO3.exp"]], "from_matrix() (jaxlie._so3.so3 class method)": [[4, "jaxlie._so3.SO3.from_matrix"]], "from_quaternion_xyzw() (jaxlie._so3.so3 static method)": [[4, "jaxlie._so3.SO3.from_quaternion_xyzw"]], "from_rpy_radians() (jaxlie._so3.so3 static method)": [[4, "jaxlie._so3.SO3.from_rpy_radians"]], "from_x_radians() (jaxlie._so3.so3 static method)": [[4, "jaxlie._so3.SO3.from_x_radians"]], "from_y_radians() (jaxlie._so3.so3 static method)": [[4, "jaxlie._so3.SO3.from_y_radians"]], "from_z_radians() (jaxlie._so3.so3 static method)": [[4, "jaxlie._so3.SO3.from_z_radians"]], "identity() (jaxlie._so3.so3 class method)": [[4, "jaxlie._so3.SO3.identity"]], "inverse() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.inverse"]], "jaxlie._so3": [[4, "module-jaxlie._so3"]], "log() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.log"]], "multiply() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.multiply"]], "normalize() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.normalize"]], "parameters() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.parameters"]], "sample_uniform() (jaxlie._so3.so3 class method)": [[4, "jaxlie._so3.SO3.sample_uniform"]], "array (in module jaxlie.hints)": [[5, "jaxlie.hints.Array"]], "rollpitchyaw (class in jaxlie.hints)": [[5, "jaxlie.hints.RollPitchYaw"]], "scalar (in module jaxlie.hints)": [[5, "jaxlie.hints.Scalar"]], "jaxlie.hints": [[5, "module-jaxlie.hints"]], "pitch (jaxlie.hints.rollpitchyaw attribute)": [[5, "jaxlie.hints.RollPitchYaw.pitch"]], "yaw (jaxlie.hints.rollpitchyaw attribute)": [[5, "jaxlie.hints.RollPitchYaw.yaw"]], "matrixliegroup (class in jaxlie)": [[6, "jaxlie.MatrixLieGroup"]], "se2 (class in jaxlie)": [[6, "jaxlie.SE2"]], "se3 (class in jaxlie)": [[6, "jaxlie.SE3"]], "sebase (class in jaxlie)": [[6, "jaxlie.SEBase"]], "so2 (class in jaxlie)": [[6, "jaxlie.SO2"]], "so3 (class in jaxlie)": [[6, "jaxlie.SO3"]], "sobase (class in jaxlie)": [[6, "jaxlie.SOBase"]], "__matmul__() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.__matmul__"]], "__repr__() (jaxlie.se2 method)": [[6, "jaxlie.SE2.__repr__"]], "__repr__() (jaxlie.se3 method)": [[6, "jaxlie.SE3.__repr__"]], "__repr__() (jaxlie.so2 method)": [[6, "jaxlie.SO2.__repr__"]], "__repr__() (jaxlie.so3 method)": [[6, "jaxlie.SO3.__repr__"]], "adjoint() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.adjoint"]], "adjoint() (jaxlie.se2 method)": [[6, "jaxlie.SE2.adjoint"]], "adjoint() (jaxlie.se3 method)": [[6, "jaxlie.SE3.adjoint"]], "adjoint() (jaxlie.so2 method)": [[6, "jaxlie.SO2.adjoint"]], "adjoint() (jaxlie.so3 method)": [[6, "jaxlie.SO3.adjoint"]], "apply() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.apply"]], "apply() (jaxlie.sebase method)": [[6, "jaxlie.SEBase.apply"]], "apply() (jaxlie.so2 method)": [[6, "jaxlie.SO2.apply"]], "apply() (jaxlie.so3 method)": [[6, "jaxlie.SO3.apply"]], "as_matrix() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.as_matrix"]], "as_matrix() (jaxlie.se2 method)": [[6, "jaxlie.SE2.as_matrix"]], "as_matrix() (jaxlie.se3 method)": [[6, "jaxlie.SE3.as_matrix"]], "as_matrix() (jaxlie.so2 method)": [[6, "jaxlie.SO2.as_matrix"]], "as_matrix() (jaxlie.so3 method)": [[6, "jaxlie.SO3.as_matrix"]], "as_quaternion_xyzw() (jaxlie.so3 method)": [[6, "jaxlie.SO3.as_quaternion_xyzw"]], "as_radians() (jaxlie.so2 method)": [[6, "jaxlie.SO2.as_radians"]], "as_rpy_radians() (jaxlie.so3 method)": [[6, "jaxlie.SO3.as_rpy_radians"]], "compute_pitch_radians() (jaxlie.so3 method)": [[6, "jaxlie.SO3.compute_pitch_radians"]], "compute_roll_radians() (jaxlie.so3 method)": [[6, "jaxlie.SO3.compute_roll_radians"]], "compute_yaw_radians() (jaxlie.so3 method)": [[6, "jaxlie.SO3.compute_yaw_radians"]], "exp() (jaxlie.matrixliegroup class method)": [[6, "jaxlie.MatrixLieGroup.exp"]], "exp() (jaxlie.se2 class method)": [[6, "jaxlie.SE2.exp"]], "exp() (jaxlie.se3 class method)": [[6, "jaxlie.SE3.exp"]], "exp() (jaxlie.so2 class method)": [[6, "jaxlie.SO2.exp"]], "exp() (jaxlie.so3 class method)": [[6, "jaxlie.SO3.exp"]], "from_matrix() (jaxlie.matrixliegroup class method)": [[6, "jaxlie.MatrixLieGroup.from_matrix"]], "from_matrix() (jaxlie.se2 class method)": [[6, "jaxlie.SE2.from_matrix"]], "from_matrix() (jaxlie.se3 class method)": [[6, "jaxlie.SE3.from_matrix"]], "from_matrix() (jaxlie.so2 class method)": [[6, "jaxlie.SO2.from_matrix"]], "from_matrix() (jaxlie.so3 class method)": [[6, "jaxlie.SO3.from_matrix"]], "from_quaternion_xyzw() (jaxlie.so3 static method)": [[6, "jaxlie.SO3.from_quaternion_xyzw"]], "from_radians() (jaxlie.so2 static method)": [[6, "jaxlie.SO2.from_radians"]], "from_rotation() (jaxlie.sebase class method)": [[6, "jaxlie.SEBase.from_rotation"]], "from_rotation_and_translation() (jaxlie.se2 class method)": [[6, "jaxlie.SE2.from_rotation_and_translation"]], "from_rotation_and_translation() (jaxlie.se3 class method)": [[6, "jaxlie.SE3.from_rotation_and_translation"]], "from_rpy_radians() (jaxlie.so3 static method)": [[6, "jaxlie.SO3.from_rpy_radians"]], "from_translation() (jaxlie.sebase class method)": [[6, "jaxlie.SEBase.from_translation"]], "from_x_radians() (jaxlie.so3 static method)": [[6, "jaxlie.SO3.from_x_radians"]], "from_xy_theta() (jaxlie.se2 static method)": [[6, "jaxlie.SE2.from_xy_theta"]], "from_y_radians() (jaxlie.so3 static method)": [[6, "jaxlie.SO3.from_y_radians"]], "from_z_radians() (jaxlie.so3 static method)": [[6, "jaxlie.SO3.from_z_radians"]], "get_batch_axes() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.get_batch_axes"]], "identity() (jaxlie.matrixliegroup class method)": [[6, "jaxlie.MatrixLieGroup.identity"]], "identity() (jaxlie.se2 class method)": [[6, "jaxlie.SE2.identity"]], "identity() (jaxlie.se3 class method)": [[6, "jaxlie.SE3.identity"]], "identity() (jaxlie.so2 class method)": [[6, "jaxlie.SO2.identity"]], "identity() (jaxlie.so3 class method)": [[6, "jaxlie.SO3.identity"]], "inverse() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.inverse"]], "inverse() (jaxlie.sebase method)": [[6, "jaxlie.SEBase.inverse"]], "inverse() (jaxlie.so2 method)": [[6, "jaxlie.SO2.inverse"]], "inverse() (jaxlie.so3 method)": [[6, "jaxlie.SO3.inverse"]], "jaxlie": [[6, "module-jaxlie"]], "log() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.log"]], "log() (jaxlie.se2 method)": [[6, "jaxlie.SE2.log"]], "log() (jaxlie.se3 method)": [[6, "jaxlie.SE3.log"]], "log() (jaxlie.so2 method)": [[6, "jaxlie.SO2.log"]], "log() (jaxlie.so3 method)": [[6, "jaxlie.SO3.log"]], "multiply() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.multiply"]], "multiply() (jaxlie.sebase method)": [[6, "jaxlie.SEBase.multiply"]], "multiply() (jaxlie.so2 method)": [[6, "jaxlie.SO2.multiply"]], "multiply() (jaxlie.so3 method)": [[6, "jaxlie.SO3.multiply"]], "normalize() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.normalize"]], "normalize() (jaxlie.sebase method)": [[6, "jaxlie.SEBase.normalize"]], "normalize() (jaxlie.so2 method)": [[6, "jaxlie.SO2.normalize"]], "normalize() (jaxlie.so3 method)": [[6, "jaxlie.SO3.normalize"]], "parameters() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.parameters"]], "parameters() (jaxlie.se2 method)": [[6, "jaxlie.SE2.parameters"]], "parameters() (jaxlie.se3 method)": [[6, "jaxlie.SE3.parameters"]], "parameters() (jaxlie.so2 method)": [[6, "jaxlie.SO2.parameters"]], "parameters() (jaxlie.so3 method)": [[6, "jaxlie.SO3.parameters"]], "parameters_dim (jaxlie.matrixliegroup attribute)": [[6, "jaxlie.MatrixLieGroup.parameters_dim"]], "rotation() (jaxlie.se2 method)": [[6, "jaxlie.SE2.rotation"]], "rotation() (jaxlie.se3 method)": [[6, "jaxlie.SE3.rotation"]], "rotation() (jaxlie.sebase method)": [[6, "jaxlie.SEBase.rotation"]], "sample_uniform() (jaxlie.matrixliegroup class method)": [[6, "jaxlie.MatrixLieGroup.sample_uniform"]], "sample_uniform() (jaxlie.se2 class method)": [[6, "jaxlie.SE2.sample_uniform"]], "sample_uniform() (jaxlie.se3 class method)": [[6, "jaxlie.SE3.sample_uniform"]], "sample_uniform() (jaxlie.so2 class method)": [[6, "jaxlie.SO2.sample_uniform"]], "sample_uniform() (jaxlie.so3 class method)": [[6, "jaxlie.SO3.sample_uniform"]], "space_dim (jaxlie.matrixliegroup attribute)": [[6, "jaxlie.MatrixLieGroup.space_dim"]], "tangent_dim (jaxlie.matrixliegroup attribute)": [[6, "jaxlie.MatrixLieGroup.tangent_dim"]], "translation() (jaxlie.se2 method)": [[6, "jaxlie.SE2.translation"]], "translation() (jaxlie.se3 method)": [[6, "jaxlie.SE3.translation"]], "translation() (jaxlie.sebase method)": [[6, "jaxlie.SEBase.translation"]], "axisname (in module jaxlie.manifold._backprop)": [[7, "jaxlie.manifold._backprop.AxisName"]], "p (in module jaxlie.manifold._backprop)": [[7, "jaxlie.manifold._backprop.P"]], "grad() (in module jaxlie.manifold._backprop)": [[7, "jaxlie.manifold._backprop.grad"]], "jaxlie.manifold._backprop": [[7, "module-jaxlie.manifold._backprop"]], "value_and_grad() (in module jaxlie.manifold._backprop)": [[7, "jaxlie.manifold._backprop.value_and_grad"]], "zero_tangents() (in module jaxlie.manifold._backprop)": [[7, "jaxlie.manifold._backprop.zero_tangents"]], "grouptype (in module jaxlie.manifold._deltas)": [[8, "jaxlie.manifold._deltas.GroupType"]], "pytreetype (in module jaxlie.manifold._deltas)": [[8, "jaxlie.manifold._deltas.PytreeType"]], "jaxlie.manifold._deltas": [[8, "module-jaxlie.manifold._deltas"]], "rminus() (in module jaxlie.manifold._deltas)": [[8, "jaxlie.manifold._deltas.rminus"]], "rplus() (in module jaxlie.manifold._deltas)": [[8, "jaxlie.manifold._deltas.rplus"]], "rplus_jacobian_parameters_wrt_delta() (in module jaxlie.manifold._deltas)": [[8, "jaxlie.manifold._deltas.rplus_jacobian_parameters_wrt_delta"]], "pytreetype (in module jaxlie.manifold._tree_utils)": [[9, "jaxlie.manifold._tree_utils.PytreeType"]], "tangentpytree (in module jaxlie.manifold._tree_utils)": [[9, "jaxlie.manifold._tree_utils.TangentPytree"]], "jaxlie.manifold._tree_utils": [[9, "module-jaxlie.manifold._tree_utils"]], "normalize_all() (in module jaxlie.manifold._tree_utils)": [[9, "jaxlie.manifold._tree_utils.normalize_all"]], "grad() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.grad"]], "jaxlie.manifold": [[10, "module-jaxlie.manifold"]], "normalize_all() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.normalize_all"]], "rminus() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.rminus"]], "rplus() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.rplus"]], "rplus_jacobian_parameters_wrt_delta() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.rplus_jacobian_parameters_wrt_delta"]], "value_and_grad() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.value_and_grad"]], "zero_tangents() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.zero_tangents"]], "t (in module jaxlie.utils._utils)": [[11, "jaxlie.utils._utils.T"]], "tupleofbroadcastable (in module jaxlie.utils._utils)": [[11, "jaxlie.utils._utils.TupleOfBroadcastable"]], "broadcast_leading_axes() (in module jaxlie.utils._utils)": [[11, "jaxlie.utils._utils.broadcast_leading_axes"]], "get_epsilon() (in module jaxlie.utils._utils)": [[11, "jaxlie.utils._utils.get_epsilon"]], "jaxlie.utils._utils": [[11, "module-jaxlie.utils._utils"]], "register_lie_group() (in module jaxlie.utils._utils)": [[11, "jaxlie.utils._utils.register_lie_group"]], "broadcast_leading_axes() (in module jaxlie.utils)": [[12, "jaxlie.utils.broadcast_leading_axes"]], "get_epsilon() (in module jaxlie.utils)": [[12, "jaxlie.utils.get_epsilon"]], "jaxlie.utils": [[12, "module-jaxlie.utils"]], "register_lie_group() (in module jaxlie.utils)": [[12, "jaxlie.utils.register_lie_group"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api/jaxlie/_base/index", "api/jaxlie/_se2/index", "api/jaxlie/_se3/index", "api/jaxlie/_so2/index", "api/jaxlie/_so3/index", "api/jaxlie/hints/index", "api/jaxlie/index", "api/jaxlie/manifold/_backprop/index", "api/jaxlie/manifold/_deltas/index", "api/jaxlie/manifold/_tree_utils/index", "api/jaxlie/manifold/index", "api/jaxlie/utils/_utils/index", "api/jaxlie/utils/index", "index", "se3_basics", "se3_optimization", "vmap_usage"], "filenames": ["api/jaxlie/_base/index.rst", "api/jaxlie/_se2/index.rst", "api/jaxlie/_se3/index.rst", "api/jaxlie/_so2/index.rst", "api/jaxlie/_so3/index.rst", "api/jaxlie/hints/index.rst", "api/jaxlie/index.rst", "api/jaxlie/manifold/_backprop/index.rst", "api/jaxlie/manifold/_deltas/index.rst", "api/jaxlie/manifold/_tree_utils/index.rst", "api/jaxlie/manifold/index.rst", "api/jaxlie/utils/_utils/index.rst", "api/jaxlie/utils/index.rst", "index.rst", "se3_basics.rst", "se3_optimization.rst", "vmap_usage.rst"], "titles": ["jaxlie._base", "jaxlie._se2", "jaxlie._se3", "jaxlie._so2", "jaxlie._so3", "jaxlie.hints", "jaxlie", "jaxlie.manifold._backprop", "jaxlie.manifold._deltas", "jaxlie.manifold._tree_utils", "jaxlie.manifold", "jaxlie.utils._utils", "jaxlie.utils", "jaxlie documentation", "Basics", "SE(3) Optimization", "jax.vmap Usage"], "terms": {"matrixliegroup": [0, 1, 2, 3, 4, 6, 8, 10, 13], "paramet": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16], "sourc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "base": [0, 1, 2, 3, 4, 5, 6, 15], "abc": [0, 1, 2, 3, 4, 6], "interfac": [0, 6], "definit": [0, 6], "matrix": [0, 1, 2, 3, 4, 6, 14], "lie": [0, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16], "group": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "py": [0, 1, 2, 3, 4, 5, 6, 15], "matrix_dim": [0, 6, 11, 12], "type": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15], "classvar": [0, 6], "int": [0, 1, 2, 3, 4, 6, 7, 10, 11, 12, 15], "dimens": [0, 6, 16], "squar": [0, 6], "output": [0, 1, 2, 3, 4, 6, 11, 12], "from": [0, 1, 2, 3, 4, 6, 14, 15, 16], "as_matrix": [0, 1, 2, 3, 4, 6, 14], "parameters_dim": [0, 6, 8, 10, 11, 12], "underli": [0, 1, 2, 3, 4, 6, 14, 15], "tangent_dim": [0, 1, 2, 3, 4, 6, 8, 10, 11, 12], "tangent": [0, 1, 2, 3, 4, 6, 7, 8, 10, 13, 15], "space": [0, 1, 2, 3, 4, 6, 7, 8, 10, 13, 15], "space_dim": [0, 6, 11, 12], "coordin": [0, 6, 15], "can": [0, 4, 6, 14, 15, 16], "transform": [0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16], "__matmul__": [0, 6], "other": [0, 3, 4, 6, 8, 10, 14, 15, 16], "typing_extens": [0, 6, 15], "self": [0, 1, 2, 3, 4, 6, 15], "hint": [0, 1, 2, 3, 4, 6, 8, 10, 13], "arrai": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16], "jax": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15], "overload": [0, 6], "oper": [0, 6, 14, 16], "switch": [0, 6, 15], "between": [0, 1, 2, 3, 4, 6], "action": [0, 3, 4, 6], "appli": [0, 3, 4, 6, 8, 14, 16], "multipl": [0, 6, 16], "multipli": [0, 3, 4, 6, 13, 14, 16], "abstract": [0, 6], "classmethod": [0, 1, 2, 3, 4, 6], "ident": [0, 1, 2, 3, 4, 6, 13, 14], "batch_ax": [0, 1, 2, 3, 4, 6], "return": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 15], "element": [0, 1, 2, 3, 4, 6], "tupl": [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 15], "ellipsi": [0, 1, 2, 3, 4, 6, 7, 10], "ani": [0, 1, 2, 3, 4, 6, 7, 10, 15], "lead": [0, 1, 2, 3, 4, 6, 11, 12, 13], "batch": [0, 1, 2, 3, 4, 6, 16], "ax": [0, 1, 2, 3, 4, 6, 11, 12, 13], "from_matrix": [0, 1, 2, 3, 4, 6, 14], "get": [0, 1, 2, 3, 4, 6], "member": [0, 1, 2, 3, 4, 6], "represent": [0, 1, 2, 3, 4, 6, 15], "representaiton": [0, 1, 2, 3, 4, 6], "homogen": [0, 1, 2, 3, 4, 6, 14], "se": [0, 1, 2, 3, 4, 6, 13, 14], "target": [0, 3, 4, 6], "point": [0, 3, 4, 6, 14, 16], "compos": [0, 3, 4, 6, 14], "thi": [0, 1, 3, 4, 6, 14, 15, 16], "anoth": [0, 3, 4, 6], "exp": [0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15], "comput": [0, 1, 2, 3, 4, 6, 7, 8, 10, 14, 15], "expm": [0, 1, 2, 3, 4, 6, 14], "wedg": [0, 1, 2, 3, 4, 6, 14], "vector": [0, 1, 2, 3, 4, 6, 7, 10, 16], "take": [0, 1, 2, 3, 4, 6, 11, 12, 15], "exponenti": [0, 1, 2, 3, 4, 6, 15], "log": [0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15], "vee": [0, 1, 2, 3, 4, 6, 14], "logm": [0, 1, 2, 3, 4, 6, 14], "shape": [0, 1, 2, 3, 4, 6, 8, 10, 11, 12, 14, 16], "should": [0, 1, 2, 3, 4, 6, 8, 10, 15], "adjoint": [0, 1, 2, 3, 4, 6, 13, 14], "which": [0, 1, 2, 3, 4, 6, 11, 12, 15], "more": [0, 1, 2, 3, 4, 6, 16], "precis": [0, 1, 2, 3, 4, 6, 11, 12], "grouptyp": [0, 1, 2, 3, 4, 6, 8, 10], "omega": [0, 1, 2, 3, 4, 6], "adj_t": [0, 1, 2, 3, 4, 6], "In": [0, 1, 2, 3, 4, 6], "robot": [0, 1, 2, 3, 4, 6], "typic": [0, 1, 2, 3, 4, 6], "us": [0, 1, 2, 3, 4, 6, 8, 10, 15, 16], "twist": [0, 1, 2, 3, 4, 6, 14], "wrench": [0, 1, 2, 3, 4, 6], "jacobian": [0, 1, 2, 3, 4, 6, 8, 10, 13], "across": [0, 1, 2, 3, 4, 6], "differ": [0, 1, 2, 3, 4, 6], "refer": [0, 1, 2, 3, 4, 6], "frame": [0, 1, 2, 3, 4, 6], "invers": [0, 3, 4, 6, 8, 10, 13, 14, 15], "our": [0, 3, 4, 6, 14, 15], "normal": [0, 3, 4, 6, 9, 10], "project": [0, 3, 4, 6, 9, 10, 15], "valu": [0, 3, 4, 6, 7, 10], "sample_uniform": [0, 1, 2, 3, 4, 6, 15], "kei": [0, 1, 2, 3, 4, 6], "draw": [0, 1, 2, 3, 4, 6], "uniform": [0, 1, 2, 3, 4, 6, 16], "sampl": [0, 1, 2, 3, 4, 6], "translat": [0, 1, 2, 3, 4, 6, 14], "applic": [0, 1, 2, 3, 4, 6], "ar": [0, 1, 2, 3, 4, 6, 8, 10, 14, 15, 16], "rang": [0, 1, 2, 3, 4, 6, 15], "1": [0, 1, 2, 3, 4, 6, 8, 10, 14, 15, 16], "prng": [0, 1, 2, 3, 4, 6, 15], "random": [0, 1, 2, 3, 4, 6, 14, 15, 16], "prngkei": [0, 1, 2, 3, 4, 6, 15], "each": [0, 1, 2, 3, 4, 6, 9, 10, 13, 15], "get_batch_ax": [0, 6], "contain": [0, 4, 5, 6, 8, 10, 16], "If": [0, 6, 15], "an": [0, 4, 6, 11, 12, 14, 15, 16], "100": [0, 6, 16], "4": [0, 1, 4, 6, 14, 16], "i": [0, 1, 2, 3, 4, 6, 13, 14, 15, 16], "place": [0, 6], "wxyz": [0, 2, 4, 6, 16], "field": [0, 6, 14], "so3": [0, 2, 4, 6, 13, 14, 16], "object": [0, 3, 6, 8, 10, 11, 12, 14, 16], "exampl": [0, 6, 15], "sobas": [0, 3, 4, 6, 13], "special": [0, 1, 2, 3, 4, 6], "orthogon": [0, 3, 4, 6], "containedsotyp": [0, 6], "sebas": [0, 1, 2, 6, 13], "gener": [0, 1, 2, 4, 6, 13, 14, 15], "euclidean": [0, 1, 2, 6, 8, 10], "n": [0, 6, 16], "so": [0, 6, 13, 16], "rotat": [0, 1, 2, 3, 4, 6, 14, 15, 16], "well": [0, 6], "dimension": [0, 6, 11, 12], "method": [0, 6, 11, 12], "from_rotation_and_transl": [0, 1, 2, 6, 14], "abstractmethod": [0, 6], "construct": [0, 1, 2, 3, 4, 6, 14], "rigid": [0, 1, 2, 6, 13], "param": [0, 6, 15], "term": [0, 1, 2, 6, 8, 10, 14, 15], "from_rot": [0, 6], "from_transl": [0, 6], "": [0, 1, 2, 6, 15], "se2": [1, 6, 13], "so2": [1, 3, 6, 13], "proper": [1, 2, 6], "2d": [1, 3, 6], "broadcast": [1, 2, 3, 4, 6, 11, 12, 13, 16], "rule": [1, 2, 3, 4, 6], "same": [1, 2, 3, 4, 6, 7, 10, 15, 16], "numpi": [1, 2, 3, 4, 6, 11, 12, 14, 15, 16], "intern": [1, 2, 3, 4, 6], "parameter": [1, 2, 3, 4, 6, 14, 15], "co": [1, 3, 6], "sin": [1, 3, 6], "x": [1, 2, 4, 6, 15, 16], "y": [1, 2, 4, 6], "vx": [1, 2, 6], "vy": [1, 2, 6], "attribut": [1, 2, 3, 4, 6], "unit_complex_xi": [1, 6], "__repr__": [1, 2, 3, 4, 6], "repr": [1, 2, 3, 4, 6], "str": [1, 2, 3, 4, 6], "static": [1, 2, 3, 4, 6, 15], "from_xy_theta": [1, 6], "theta": [1, 3, 4, 6], "standard": [1, 6, 15, 16], "pose": [1, 6, 15], "note": [1, 4, 6, 8, 10, 15, 16], "integr": [1, 6, 14], "over": [1, 6, 14, 15, 16], "length": [1, 6, 14], "3": [1, 6, 13, 14, 16], "scalar": [1, 3, 4, 5, 6], "jax_dataclass": [1, 2, 3, 4, 6, 15], "se3": [2, 6, 13, 14, 15], "3d": [2, 4, 6], "qw": [2, 4, 6], "qx": [2, 4, 6], "qy": [2, 4, 6], "qz": [2, 4, 6], "z": [2, 4, 6], "vz": [2, 6], "omega_x": [2, 4, 6], "omega_i": [2, 4, 6], "omega_z": [2, 4, 6], "wxyz_xyz": [2, 6, 14], "quaternion": [2, 4, 6, 14, 15], "follow": [2, 6, 15, 16], "xyz": [2, 6], "7": [2, 6, 14], "unit_complex": [3, 6], "2": [3, 6, 13, 14, 15, 16], "from_radian": [3, 6], "angl": [3, 4, 5, 6], "as_radian": [3, 6], "w": [4, 6, 14], "from_x_radian": [4, 6, 16], "axi": [4, 6, 16], "radian": [4, 6], "from_y_radian": [4, 6], "from_z_radian": [4, 6], "from_rpy_radian": [4, 6], "roll": [4, 5, 6], "pitch": [4, 5, 6], "yaw": [4, 5, 6], "set": [4, 6, 11, 12], "euler": [4, 5, 6], "zyx": [4, 6], "mobil": [4, 6], "convent": [4, 6], "first": [4, 6], "second": [4, 6, 15], "last": [4, 6], "from_quaternion_xyzw": [4, 6], "xyzw": [4, 6], "default": [4, 6], "dataclass": [4, 6, 11, 12, 13, 14], "constructor": [4, 6, 14], "as_quaternion_xyzw": [4, 6], "grab": [4, 6, 8, 10, 11, 12], "as_rpy_radian": [4, 6], "name": [4, 6], "rollpitchyaw": [4, 5, 6], "compute_roll_radian": [4, 6], "compute_pitch_radian": [4, 6], "compute_yaw_radian": [4, 6], "alia": 5, "union": [5, 15], "onp": [5, 8, 10, 14, 16], "ndarrai": 5, "float": [5, 11, 12, 15], "namedtupl": 5, "manifold": [6, 13, 15], "util": [6, 13], "zero_tang": [7, 10, 15], "pytre": [7, 8, 9, 10, 13, 16], "replac": [7, 10, 15], "all": [7, 8, 10, 11, 12, 13, 14, 16], "zero": [7, 8, 10], "correspond": [7, 8, 10], "_tree_util": [7, 8, 10], "tangentpytre": [7, 8, 9, 10], "axisnam": [7, 10], "p": [7, 10, 16], "grad": [7, 10, 15], "fun": [7, 10], "callabl": [7, 10, 11, 12], "argnum": [7, 8, 10], "0": [7, 10, 14, 15, 16], "has_aux": [7, 10], "bool": [7, 10], "fals": [7, 10], "holomorph": [7, 10], "allow_int": [7, 10], "reduce_ax": [7, 10], "sequenc": [7, 10], "gradient": [7, 10, 15], "respect": [7, 9, 10], "value_and_grad": [7, 10, 15], "helper": [8, 11, 12, 13, 14, 15], "recurs": [8, 10], "delta": [8, 10], "pytreetyp": [8, 9, 10], "rplu": [8, 10, 15], "right": [8, 10], "plu": [8, 10], "t": [8, 10, 11, 12, 14, 15], "support": [8, 10], "instanc": [8, 9, 10, 15], "simpl": [8, 10, 14], "addit": [8, 10], "perform": [8, 10], "rminu": [8, 10], "b": [8, 10, 14, 15], "minu": [8, 10], "t_ab": [8, 10, 15], "t_wa": [8, 10], "t_wb": [8, 10], "subtract": [8, 10], "rplus_jacobian_parameters_wrt_delta": [8, 10], "analyt": [8, 10, 13], "linear": [8, 10], "around": [8, 10], "local": [8, 10, 15], "mostli": [8, 10], "reduc": [8, 10], "jit": [8, 10, 11, 12, 15, 16], "compil": [8, 10, 11, 12, 15], "time": [8, 10, 15], "optim": [8, 10, 13], "equival": [8, 10, 14, 16], "def": [8, 10, 15], "sinc": [8, 10], "jacfwd": [8, 10], "itself": [8, 10], "explicitli": [8, 10], "arg": [8, 10, 15], "wrt": [8, 10], "normalize_al": [9, 10, 15], "call": [9, 10, 16], "result": [9, 10], "naiv": [9, 10], "its": [9, 10], "get_epsilon": [11, 12], "dtype": [11, 12], "specif": [11, 12, 14], "constant": [11, 12], "datatyp": [11, 12], "register_lie_group": [11, 12], "decor": [11, 12], "regist": [11, 12], "class": [11, 12, 15], "variabl": [11, 12, 15], "mark": [11, 12], "tupleofbroadcast": [11, 12], "broadcast_leading_ax": [11, 12], "input": [11, 12], "either": [11, 12, 15], "we": [11, 12, 14, 15, 16], "assum": [11, 12], "ha": [11, 12, 16], "d": [11, 12], "theori": 13, "librari": 13, "bodi": 13, "current": 13, "function": [13, 16], "implement": [13, 16], "high": [13, 16], "level": 13, "registr": 13, "code": 13, "github": 13, "basic": 13, "vmap": 13, "import": [14, 15, 16], "jaxli": [14, 15, 16], "print": [14, 15], "screw": 14, "5": [14, 16], "t_w_b": 14, "f": [14, 15], "Or": [14, 16], "share": 14, "There": 14, "also": [14, 16], "eg": 14, "matric": 14, "explicit": [14, 16], "p_b": 14, "randn": 14, "p_w": 14, "form": 14, "append": [14, 15], "t_b_a": 14, "t_w_a": 14, "misc": 14, "t_b_w": 14, "adjoint_t_w_b": 14, "recov": 14, "recovered_twist": 14, "compar": [15, 16], "algorithm": 15, "run": 15, "adam": 15, "three": 15, "approach": [15, 16], "updat": 15, "retract": 15, "back": 15, "global": 15, "step": 15, "most": 15, "stabl": 15, "directli": 15, "after": [15, 16], "let": 15, "u": 15, "without": 15, "modif": 15, "number": 15, "train": 15, "learn": 15, "rate": 15, "configur": 15, "see": 15, "python": 15, "se3_optim": 15, "help": 15, "__future__": 15, "annot": 15, "list": 15, "liter": 15, "jdc": 15, "matplotlib": 15, "pyplot": 15, "plt": 15, "optax": 15, "tyro": 15, "jnp": 15, "assert_nev": 15, "pytree_dataclass": 15, "under": 15, "hood": 15, "redund": 15, "here": [15, 16], "given": 15, "t_bc": 15, "t_ca": 15, "focus": 15, "make": 15, "consist": 15, "exponentialcoordinatesparamet": 15, "log_t_ab": 15, "log_t_bc": 15, "log_t_ca": 15, "properti": 15, "staticmethod": 15, "from_glob": 15, "compute_loss": 15, "As": 15, "loss": 15, "enforc": 15, "prior": 15, "constraint": 15, "t_ba_prior": 15, "t_cb_prior": 15, "sum": 15, "tangent_spac": 15, "exponential_coordin": 15, "state": 15, "gradienttransform": 15, "optimizer_st": 15, "optstat": 15, "initi": 15, "learning_r": 15, "problem": 15, "won": 15, "split": 15, "num": 15, "global_param": 15, "statist": 15, "init": 15, "elif": 15, "els": 15, "one": [15, 16], "drop": 15, "new_optimizer_st": 15, "new_param": 15, "apply_upd": 15, "assert": [15, 16], "structur": [15, 16], "copy_and_mut": 15, "valid": 15, "true": 15, "new_stat": 15, "run_experi": 15, "train_step": 15, "via": 15, "don": 15, "includ": 15, "start_tim": 15, "20": 15, "03d": 15, "flush": 15, "tconverg": 15, "tafter": 15, "main": 15, "1000": 15, "1e": 15, "none": [15, 16], "experi": 15, "plot": 15, "label": 15, "yscale": 15, "legend": 15, "show": 15, "__name__": 15, "__main__": 15, "cli": 15, "style": 16, "For": 16, "omit": 16, "breviti": 16, "practic": 16, "usual": 16, "want": 16, "setup": 16, "start": 16, "creat": 16, "two": 16, "r_singl": 16, "singl": 16, "r_stack": 16, "stack": 16, "togeth": 16, "pi": 16, "low": 16, "size": 16, "p_singl": 16, "p_stack": 16, "recal": 16, "p_transformed_singl": 16, "just": 16, "syntact": 16, "sugar": 16, "semant": 16, "p_transformed_stack": 16, "lambda": 16, "reli": 16, "both": 16, "have": 16, "counterpart": 16, "therefor": 16, "argument": 16, "r": 16, "6": 16, "The": 16, "concept": 16, "abov": 16, "And": 16, "do": 16, "again": 16, "work": 16}, "objects": {"": [[6, 0, 0, "-", "jaxlie"]], "jaxlie": [[6, 1, 1, "", "MatrixLieGroup"], [6, 1, 1, "", "SE2"], [6, 1, 1, "", "SE3"], [6, 1, 1, "", "SEBase"], [6, 1, 1, "", "SO2"], [6, 1, 1, "", "SO3"], [6, 1, 1, "", "SOBase"], [0, 0, 0, "-", "_base"], [1, 0, 0, "-", "_se2"], [2, 0, 0, "-", "_se3"], [3, 0, 0, "-", "_so2"], [4, 0, 0, "-", "_so3"], [5, 0, 0, "-", "hints"], [10, 0, 0, "-", "manifold"], [12, 0, 0, "-", "utils"]], "jaxlie.MatrixLieGroup": [[6, 2, 1, "", "__matmul__"], [6, 2, 1, "", "adjoint"], [6, 2, 1, "", "apply"], [6, 2, 1, "", "as_matrix"], [6, 2, 1, "", "exp"], [6, 2, 1, "", "from_matrix"], [6, 2, 1, "", "get_batch_axes"], [6, 2, 1, "", "identity"], [6, 2, 1, "", "inverse"], [6, 2, 1, "", "log"], [6, 2, 1, "", "multiply"], [6, 2, 1, "", "normalize"], [6, 2, 1, "", "parameters"], [6, 3, 1, "", "parameters_dim"], [6, 2, 1, "", "sample_uniform"], [6, 3, 1, "", "space_dim"], [6, 3, 1, "", "tangent_dim"]], "jaxlie.SE2": [[6, 2, 1, "", "__repr__"], [6, 2, 1, "", "adjoint"], [6, 2, 1, "", "as_matrix"], [6, 2, 1, "", "exp"], [6, 2, 1, "", "from_matrix"], [6, 2, 1, "", "from_rotation_and_translation"], [6, 2, 1, "", "from_xy_theta"], [6, 2, 1, "", "identity"], [6, 2, 1, "", "log"], [6, 2, 1, "", "parameters"], [6, 2, 1, "", "rotation"], [6, 2, 1, "", "sample_uniform"], [6, 2, 1, "", "translation"]], "jaxlie.SE3": [[6, 2, 1, "", "__repr__"], [6, 2, 1, "", "adjoint"], [6, 2, 1, "", "as_matrix"], [6, 2, 1, "", "exp"], [6, 2, 1, "", "from_matrix"], [6, 2, 1, "", "from_rotation_and_translation"], [6, 2, 1, "", "identity"], [6, 2, 1, "", "log"], [6, 2, 1, "", "parameters"], [6, 2, 1, "", "rotation"], [6, 2, 1, "", "sample_uniform"], [6, 2, 1, "", "translation"]], "jaxlie.SEBase": [[6, 2, 1, "", "apply"], [6, 2, 1, "", "from_rotation"], [6, 2, 1, "", "from_translation"], [6, 2, 1, "", "inverse"], [6, 2, 1, "", "multiply"], [6, 2, 1, "", "normalize"], [6, 2, 1, "", "rotation"], [6, 2, 1, "", "translation"]], "jaxlie.SO2": [[6, 2, 1, "", "__repr__"], [6, 2, 1, "", "adjoint"], [6, 2, 1, "", "apply"], [6, 2, 1, "", "as_matrix"], [6, 2, 1, "", "as_radians"], [6, 2, 1, "", "exp"], [6, 2, 1, "", "from_matrix"], [6, 2, 1, "", "from_radians"], [6, 2, 1, "", "identity"], [6, 2, 1, "", "inverse"], [6, 2, 1, "", "log"], [6, 2, 1, "", "multiply"], [6, 2, 1, "", "normalize"], [6, 2, 1, "", "parameters"], [6, 2, 1, "", "sample_uniform"]], "jaxlie.SO3": [[6, 2, 1, "", "__repr__"], [6, 2, 1, "", "adjoint"], [6, 2, 1, "", "apply"], [6, 2, 1, "", "as_matrix"], [6, 2, 1, "", "as_quaternion_xyzw"], [6, 2, 1, "", "as_rpy_radians"], [6, 2, 1, "", "compute_pitch_radians"], [6, 2, 1, "", "compute_roll_radians"], [6, 2, 1, "", "compute_yaw_radians"], [6, 2, 1, "", "exp"], [6, 2, 1, "", "from_matrix"], [6, 2, 1, "", "from_quaternion_xyzw"], [6, 2, 1, "", "from_rpy_radians"], [6, 2, 1, "", "from_x_radians"], [6, 2, 1, "", "from_y_radians"], [6, 2, 1, "", "from_z_radians"], [6, 2, 1, "", "identity"], [6, 2, 1, "", "inverse"], [6, 2, 1, "", "log"], [6, 2, 1, "", "multiply"], [6, 2, 1, "", "normalize"], [6, 2, 1, "", "parameters"], [6, 2, 1, "", "sample_uniform"]], "jaxlie._base": [[0, 4, 1, "", "ContainedSOType"], [0, 1, 1, "", "MatrixLieGroup"], [0, 1, 1, "", "SEBase"], [0, 1, 1, "", "SOBase"]], "jaxlie._base.MatrixLieGroup": [[0, 2, 1, "", "__matmul__"], [0, 2, 1, "", "adjoint"], [0, 2, 1, "", "apply"], [0, 2, 1, "", "as_matrix"], [0, 2, 1, "", "exp"], [0, 2, 1, "", "from_matrix"], [0, 2, 1, "", "get_batch_axes"], [0, 2, 1, "", "identity"], [0, 2, 1, "", "inverse"], [0, 2, 1, "", "log"], [0, 2, 1, "", "multiply"], [0, 2, 1, "", "normalize"], [0, 2, 1, "", "parameters"], [0, 3, 1, "", "parameters_dim"], [0, 2, 1, "", "sample_uniform"], [0, 3, 1, "", "space_dim"], [0, 3, 1, "", "tangent_dim"]], "jaxlie._base.SEBase": [[0, 2, 1, "", "apply"], [0, 2, 1, "", "from_rotation"], [0, 2, 1, "", "from_translation"], [0, 2, 1, "", "inverse"], [0, 2, 1, "", "multiply"], [0, 2, 1, "", "normalize"], [0, 2, 1, "", "rotation"], [0, 2, 1, "", "translation"]], "jaxlie._se2": [[1, 1, 1, "", "SE2"]], "jaxlie._se2.SE2": [[1, 2, 1, "", "__repr__"], [1, 2, 1, "", "adjoint"], [1, 2, 1, "", "as_matrix"], [1, 2, 1, "", "exp"], [1, 2, 1, "", "from_matrix"], [1, 2, 1, "", "from_rotation_and_translation"], [1, 2, 1, "", "from_xy_theta"], [1, 2, 1, "", "identity"], [1, 2, 1, "", "log"], [1, 2, 1, "", "parameters"], [1, 2, 1, "", "rotation"], [1, 2, 1, "", "sample_uniform"], [1, 2, 1, "", "translation"]], "jaxlie._se3": [[2, 1, 1, "", "SE3"]], "jaxlie._se3.SE3": [[2, 2, 1, "", "__repr__"], [2, 2, 1, "", "adjoint"], [2, 2, 1, "", "as_matrix"], [2, 2, 1, "", "exp"], [2, 2, 1, "", "from_matrix"], [2, 2, 1, "", "from_rotation_and_translation"], [2, 2, 1, "", "identity"], [2, 2, 1, "", "log"], [2, 2, 1, "", "parameters"], [2, 2, 1, "", "rotation"], [2, 2, 1, "", "sample_uniform"], [2, 2, 1, "", "translation"]], "jaxlie._so2": [[3, 1, 1, "", "SO2"]], "jaxlie._so2.SO2": [[3, 2, 1, "", "__repr__"], [3, 2, 1, "", "adjoint"], [3, 2, 1, "", "apply"], [3, 2, 1, "", "as_matrix"], [3, 2, 1, "", "as_radians"], [3, 2, 1, "", "exp"], [3, 2, 1, "", "from_matrix"], [3, 2, 1, "", "from_radians"], [3, 2, 1, "", "identity"], [3, 2, 1, "", "inverse"], [3, 2, 1, "", "log"], [3, 2, 1, "", "multiply"], [3, 2, 1, "", "normalize"], [3, 2, 1, "", "parameters"], [3, 2, 1, "", "sample_uniform"]], "jaxlie._so3": [[4, 1, 1, "", "SO3"]], "jaxlie._so3.SO3": [[4, 2, 1, "", "__repr__"], [4, 2, 1, "", "adjoint"], [4, 2, 1, "", "apply"], [4, 2, 1, "", "as_matrix"], [4, 2, 1, "", "as_quaternion_xyzw"], [4, 2, 1, "", "as_rpy_radians"], [4, 2, 1, "", "compute_pitch_radians"], [4, 2, 1, "", "compute_roll_radians"], [4, 2, 1, "", "compute_yaw_radians"], [4, 2, 1, "", "exp"], [4, 2, 1, "", "from_matrix"], [4, 2, 1, "", "from_quaternion_xyzw"], [4, 2, 1, "", "from_rpy_radians"], [4, 2, 1, "", "from_x_radians"], [4, 2, 1, "", "from_y_radians"], [4, 2, 1, "", "from_z_radians"], [4, 2, 1, "", "identity"], [4, 2, 1, "", "inverse"], [4, 2, 1, "", "log"], [4, 2, 1, "", "multiply"], [4, 2, 1, "", "normalize"], [4, 2, 1, "", "parameters"], [4, 2, 1, "", "sample_uniform"]], "jaxlie.hints": [[5, 4, 1, "", "Array"], [5, 1, 1, "", "RollPitchYaw"], [5, 4, 1, "", "Scalar"]], "jaxlie.hints.RollPitchYaw": [[5, 3, 1, "", "pitch"], [5, 3, 1, "", "yaw"]], "jaxlie.manifold": [[7, 0, 0, "-", "_backprop"], [8, 0, 0, "-", "_deltas"], [9, 0, 0, "-", "_tree_utils"], [10, 5, 1, "", "grad"], [10, 5, 1, "", "normalize_all"], [10, 5, 1, "", "rminus"], [10, 5, 1, "", "rplus"], [10, 5, 1, "", "rplus_jacobian_parameters_wrt_delta"], [10, 5, 1, "", "value_and_grad"], [10, 5, 1, "", "zero_tangents"]], "jaxlie.manifold._backprop": [[7, 4, 1, "", "AxisName"], [7, 4, 1, "", "P"], [7, 5, 1, "", "grad"], [7, 5, 1, "", "value_and_grad"], [7, 5, 1, "", "zero_tangents"]], "jaxlie.manifold._deltas": [[8, 4, 1, "", "GroupType"], [8, 4, 1, "", "PytreeType"], [8, 5, 1, "", "rminus"], [8, 5, 1, "", "rplus"], [8, 5, 1, "", "rplus_jacobian_parameters_wrt_delta"]], "jaxlie.manifold._tree_utils": [[9, 4, 1, "", "PytreeType"], [9, 4, 1, "", "TangentPytree"], [9, 5, 1, "", "normalize_all"]], "jaxlie.utils": [[11, 0, 0, "-", "_utils"], [12, 5, 1, "", "broadcast_leading_axes"], [12, 5, 1, "", "get_epsilon"], [12, 5, 1, "", "register_lie_group"]], "jaxlie.utils._utils": [[11, 4, 1, "", "T"], [11, 4, 1, "", "TupleOfBroadcastable"], [11, 5, 1, "", "broadcast_leading_axes"], [11, 5, 1, "", "get_epsilon"], [11, 5, 1, "", "register_lie_group"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:data", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "data", "Python data"], "5": ["py", "function", "Python function"]}, "titleterms": {"jaxli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "_base": 0, "modul": [0, 1, 2, 3, 4, 7, 8, 9, 11], "content": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], "class": [0, 1, 2, 3, 4, 5, 6], "attribut": [0, 5, 7, 8, 9, 11], "_se2": 1, "_se3": 2, "_so2": 3, "_so3": 4, "hint": 5, "packag": [5, 6, 10, 12], "subpackag": 6, "manifold": [7, 8, 9, 10], "_backprop": 7, "function": [7, 8, 9, 10, 11, 12], "_delta": 8, "_tree_util": 9, "util": [11, 12], "_util": 11, "document": 13, "api": 13, "refer": 13, "exampl": 13, "usag": [13, 16], "basic": 14, "se": 15, "3": 15, "optim": 15, "jax": 16, "vmap": 16}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"jaxlie._base": [[0, "module-jaxlie._base"]], "Module Contents": [[0, "module-contents"], [1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [7, "module-contents"], [8, "module-contents"], [9, "module-contents"], [11, "module-contents"]], "Classes": [[0, "classes"], [1, "classes"], [2, "classes"], [3, "classes"], [4, "classes"], [5, "classes"], [6, "classes"]], "Attributes": [[0, "attributes"], [5, "attributes"], [7, "attributes"], [8, "attributes"], [9, "attributes"], [11, "attributes"]], "jaxlie._se2": [[1, "module-jaxlie._se2"]], "jaxlie._se3": [[2, "module-jaxlie._se3"]], "jaxlie._so2": [[3, "module-jaxlie._so2"]], "jaxlie._so3": [[4, "module-jaxlie._so3"]], "jaxlie.hints": [[5, "module-jaxlie.hints"]], "Package Contents": [[5, "package-contents"], [6, "package-contents"], [10, "package-contents"], [12, "package-contents"]], "jaxlie": [[6, "module-jaxlie"]], "Subpackages": [[6, "subpackages"]], "jaxlie.manifold._backprop": [[7, "module-jaxlie.manifold._backprop"]], "Functions": [[7, "functions"], [8, "functions"], [9, "functions"], [10, "functions"], [11, "functions"], [12, "functions"]], "jaxlie.manifold._deltas": [[8, "module-jaxlie.manifold._deltas"]], "jaxlie.manifold._tree_utils": [[9, "module-jaxlie.manifold._tree_utils"]], "jaxlie.manifold": [[10, "module-jaxlie.manifold"]], "jaxlie.utils._utils": [[11, "module-jaxlie.utils._utils"]], "jaxlie.utils": [[12, "module-jaxlie.utils"]], "jaxlie documentation": [[13, "jaxlie-documentation"]], "API Reference": [[13, null]], "Example usage": [[13, null]], "Basics": [[14, "basics"]], "SE(3) Optimization": [[15, "se-3-optimization"]], "jax.vmap Usage": [[16, "jax-vmap-usage"]]}, "indexentries": {"containedsotype (in module jaxlie._base)": [[0, "jaxlie._base.ContainedSOType"]], "matrixliegroup (class in jaxlie._base)": [[0, "jaxlie._base.MatrixLieGroup"]], "sebase (class in jaxlie._base)": [[0, "jaxlie._base.SEBase"]], "sobase (class in jaxlie._base)": [[0, "jaxlie._base.SOBase"]], "__matmul__() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.__matmul__"]], "adjoint() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.adjoint"]], "apply() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.apply"]], "apply() (jaxlie._base.sebase method)": [[0, "jaxlie._base.SEBase.apply"]], "as_matrix() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.as_matrix"]], "exp() (jaxlie._base.matrixliegroup class method)": [[0, "jaxlie._base.MatrixLieGroup.exp"]], "from_matrix() (jaxlie._base.matrixliegroup class method)": [[0, "jaxlie._base.MatrixLieGroup.from_matrix"]], "from_rotation() (jaxlie._base.sebase class method)": [[0, "jaxlie._base.SEBase.from_rotation"]], "from_translation() (jaxlie._base.sebase class method)": [[0, "jaxlie._base.SEBase.from_translation"]], "get_batch_axes() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.get_batch_axes"]], "identity() (jaxlie._base.matrixliegroup class method)": [[0, "jaxlie._base.MatrixLieGroup.identity"]], "inverse() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.inverse"]], "inverse() (jaxlie._base.sebase method)": [[0, "jaxlie._base.SEBase.inverse"]], "jaxlie._base": [[0, "module-jaxlie._base"]], "log() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.log"]], "module": [[0, "module-jaxlie._base"], [1, "module-jaxlie._se2"], [2, "module-jaxlie._se3"], [3, "module-jaxlie._so2"], [4, "module-jaxlie._so3"], [5, "module-jaxlie.hints"], [6, "module-jaxlie"], [7, "module-jaxlie.manifold._backprop"], [8, "module-jaxlie.manifold._deltas"], [9, "module-jaxlie.manifold._tree_utils"], [10, "module-jaxlie.manifold"], [11, "module-jaxlie.utils._utils"], [12, "module-jaxlie.utils"]], "multiply() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.multiply"]], "multiply() (jaxlie._base.sebase method)": [[0, "jaxlie._base.SEBase.multiply"]], "normalize() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.normalize"]], "normalize() (jaxlie._base.sebase method)": [[0, "jaxlie._base.SEBase.normalize"]], "parameters() (jaxlie._base.matrixliegroup method)": [[0, "jaxlie._base.MatrixLieGroup.parameters"]], "parameters_dim (jaxlie._base.matrixliegroup attribute)": [[0, "jaxlie._base.MatrixLieGroup.parameters_dim"]], "rotation() (jaxlie._base.sebase method)": [[0, "jaxlie._base.SEBase.rotation"]], "sample_uniform() (jaxlie._base.matrixliegroup class method)": [[0, "jaxlie._base.MatrixLieGroup.sample_uniform"]], "space_dim (jaxlie._base.matrixliegroup attribute)": [[0, "jaxlie._base.MatrixLieGroup.space_dim"]], "tangent_dim (jaxlie._base.matrixliegroup attribute)": [[0, "jaxlie._base.MatrixLieGroup.tangent_dim"]], "translation() (jaxlie._base.sebase method)": [[0, "jaxlie._base.SEBase.translation"]], "se2 (class in jaxlie._se2)": [[1, "jaxlie._se2.SE2"]], "__repr__() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.__repr__"]], "adjoint() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.adjoint"]], "as_matrix() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.as_matrix"]], "exp() (jaxlie._se2.se2 class method)": [[1, "jaxlie._se2.SE2.exp"]], "from_matrix() (jaxlie._se2.se2 class method)": [[1, "jaxlie._se2.SE2.from_matrix"]], "from_rotation_and_translation() (jaxlie._se2.se2 class method)": [[1, "jaxlie._se2.SE2.from_rotation_and_translation"]], "from_xy_theta() (jaxlie._se2.se2 static method)": [[1, "jaxlie._se2.SE2.from_xy_theta"]], "identity() (jaxlie._se2.se2 class method)": [[1, "jaxlie._se2.SE2.identity"]], "jaxlie._se2": [[1, "module-jaxlie._se2"]], "log() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.log"]], "parameters() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.parameters"]], "rotation() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.rotation"]], "sample_uniform() (jaxlie._se2.se2 class method)": [[1, "jaxlie._se2.SE2.sample_uniform"]], "translation() (jaxlie._se2.se2 method)": [[1, "jaxlie._se2.SE2.translation"]], "se3 (class in jaxlie._se3)": [[2, "jaxlie._se3.SE3"]], "__repr__() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.__repr__"]], "adjoint() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.adjoint"]], "as_matrix() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.as_matrix"]], "exp() (jaxlie._se3.se3 class method)": [[2, "jaxlie._se3.SE3.exp"]], "from_matrix() (jaxlie._se3.se3 class method)": [[2, "jaxlie._se3.SE3.from_matrix"]], "from_rotation_and_translation() (jaxlie._se3.se3 class method)": [[2, "jaxlie._se3.SE3.from_rotation_and_translation"]], "identity() (jaxlie._se3.se3 class method)": [[2, "jaxlie._se3.SE3.identity"]], "jaxlie._se3": [[2, "module-jaxlie._se3"]], "log() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.log"]], "parameters() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.parameters"]], "rotation() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.rotation"]], "sample_uniform() (jaxlie._se3.se3 class method)": [[2, "jaxlie._se3.SE3.sample_uniform"]], "translation() (jaxlie._se3.se3 method)": [[2, "jaxlie._se3.SE3.translation"]], "so2 (class in jaxlie._so2)": [[3, "jaxlie._so2.SO2"]], "__repr__() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.__repr__"]], "adjoint() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.adjoint"]], "apply() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.apply"]], "as_matrix() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.as_matrix"]], "as_radians() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.as_radians"]], "exp() (jaxlie._so2.so2 class method)": [[3, "jaxlie._so2.SO2.exp"]], "from_matrix() (jaxlie._so2.so2 class method)": [[3, "jaxlie._so2.SO2.from_matrix"]], "from_radians() (jaxlie._so2.so2 static method)": [[3, "jaxlie._so2.SO2.from_radians"]], "identity() (jaxlie._so2.so2 class method)": [[3, "jaxlie._so2.SO2.identity"]], "inverse() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.inverse"]], "jaxlie._so2": [[3, "module-jaxlie._so2"]], "log() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.log"]], "multiply() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.multiply"]], "normalize() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.normalize"]], "parameters() (jaxlie._so2.so2 method)": [[3, "jaxlie._so2.SO2.parameters"]], "sample_uniform() (jaxlie._so2.so2 class method)": [[3, "jaxlie._so2.SO2.sample_uniform"]], "so3 (class in jaxlie._so3)": [[4, "jaxlie._so3.SO3"]], "__repr__() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.__repr__"]], "adjoint() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.adjoint"]], "apply() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.apply"]], "as_matrix() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.as_matrix"]], "as_quaternion_xyzw() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.as_quaternion_xyzw"]], "as_rpy_radians() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.as_rpy_radians"]], "compute_pitch_radians() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.compute_pitch_radians"]], "compute_roll_radians() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.compute_roll_radians"]], "compute_yaw_radians() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.compute_yaw_radians"]], "exp() (jaxlie._so3.so3 class method)": [[4, "jaxlie._so3.SO3.exp"]], "from_matrix() (jaxlie._so3.so3 class method)": [[4, "jaxlie._so3.SO3.from_matrix"]], "from_quaternion_xyzw() (jaxlie._so3.so3 static method)": [[4, "jaxlie._so3.SO3.from_quaternion_xyzw"]], "from_rpy_radians() (jaxlie._so3.so3 static method)": [[4, "jaxlie._so3.SO3.from_rpy_radians"]], "from_x_radians() (jaxlie._so3.so3 static method)": [[4, "jaxlie._so3.SO3.from_x_radians"]], "from_y_radians() (jaxlie._so3.so3 static method)": [[4, "jaxlie._so3.SO3.from_y_radians"]], "from_z_radians() (jaxlie._so3.so3 static method)": [[4, "jaxlie._so3.SO3.from_z_radians"]], "identity() (jaxlie._so3.so3 class method)": [[4, "jaxlie._so3.SO3.identity"]], "inverse() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.inverse"]], "jaxlie._so3": [[4, "module-jaxlie._so3"]], "log() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.log"]], "multiply() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.multiply"]], "normalize() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.normalize"]], "parameters() (jaxlie._so3.so3 method)": [[4, "jaxlie._so3.SO3.parameters"]], "sample_uniform() (jaxlie._so3.so3 class method)": [[4, "jaxlie._so3.SO3.sample_uniform"]], "array (in module jaxlie.hints)": [[5, "jaxlie.hints.Array"]], "rollpitchyaw (class in jaxlie.hints)": [[5, "jaxlie.hints.RollPitchYaw"]], "scalar (in module jaxlie.hints)": [[5, "jaxlie.hints.Scalar"]], "jaxlie.hints": [[5, "module-jaxlie.hints"]], "pitch (jaxlie.hints.rollpitchyaw attribute)": [[5, "jaxlie.hints.RollPitchYaw.pitch"]], "yaw (jaxlie.hints.rollpitchyaw attribute)": [[5, "jaxlie.hints.RollPitchYaw.yaw"]], "matrixliegroup (class in jaxlie)": [[6, "jaxlie.MatrixLieGroup"]], "se2 (class in jaxlie)": [[6, "jaxlie.SE2"]], "se3 (class in jaxlie)": [[6, "jaxlie.SE3"]], "sebase (class in jaxlie)": [[6, "jaxlie.SEBase"]], "so2 (class in jaxlie)": [[6, "jaxlie.SO2"]], "so3 (class in jaxlie)": [[6, "jaxlie.SO3"]], "sobase (class in jaxlie)": [[6, "jaxlie.SOBase"]], "__matmul__() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.__matmul__"]], "__repr__() (jaxlie.se2 method)": [[6, "jaxlie.SE2.__repr__"]], "__repr__() (jaxlie.se3 method)": [[6, "jaxlie.SE3.__repr__"]], "__repr__() (jaxlie.so2 method)": [[6, "jaxlie.SO2.__repr__"]], "__repr__() (jaxlie.so3 method)": [[6, "jaxlie.SO3.__repr__"]], "adjoint() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.adjoint"]], "adjoint() (jaxlie.se2 method)": [[6, "jaxlie.SE2.adjoint"]], "adjoint() (jaxlie.se3 method)": [[6, "jaxlie.SE3.adjoint"]], "adjoint() (jaxlie.so2 method)": [[6, "jaxlie.SO2.adjoint"]], "adjoint() (jaxlie.so3 method)": [[6, "jaxlie.SO3.adjoint"]], "apply() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.apply"]], "apply() (jaxlie.sebase method)": [[6, "jaxlie.SEBase.apply"]], "apply() (jaxlie.so2 method)": [[6, "jaxlie.SO2.apply"]], "apply() (jaxlie.so3 method)": [[6, "jaxlie.SO3.apply"]], "as_matrix() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.as_matrix"]], "as_matrix() (jaxlie.se2 method)": [[6, "jaxlie.SE2.as_matrix"]], "as_matrix() (jaxlie.se3 method)": [[6, "jaxlie.SE3.as_matrix"]], "as_matrix() (jaxlie.so2 method)": [[6, "jaxlie.SO2.as_matrix"]], "as_matrix() (jaxlie.so3 method)": [[6, "jaxlie.SO3.as_matrix"]], "as_quaternion_xyzw() (jaxlie.so3 method)": [[6, "jaxlie.SO3.as_quaternion_xyzw"]], "as_radians() (jaxlie.so2 method)": [[6, "jaxlie.SO2.as_radians"]], "as_rpy_radians() (jaxlie.so3 method)": [[6, "jaxlie.SO3.as_rpy_radians"]], "compute_pitch_radians() (jaxlie.so3 method)": [[6, "jaxlie.SO3.compute_pitch_radians"]], "compute_roll_radians() (jaxlie.so3 method)": [[6, "jaxlie.SO3.compute_roll_radians"]], "compute_yaw_radians() (jaxlie.so3 method)": [[6, "jaxlie.SO3.compute_yaw_radians"]], "exp() (jaxlie.matrixliegroup class method)": [[6, "jaxlie.MatrixLieGroup.exp"]], "exp() (jaxlie.se2 class method)": [[6, "jaxlie.SE2.exp"]], "exp() (jaxlie.se3 class method)": [[6, "jaxlie.SE3.exp"]], "exp() (jaxlie.so2 class method)": [[6, "jaxlie.SO2.exp"]], "exp() (jaxlie.so3 class method)": [[6, "jaxlie.SO3.exp"]], "from_matrix() (jaxlie.matrixliegroup class method)": [[6, "jaxlie.MatrixLieGroup.from_matrix"]], "from_matrix() (jaxlie.se2 class method)": [[6, "jaxlie.SE2.from_matrix"]], "from_matrix() (jaxlie.se3 class method)": [[6, "jaxlie.SE3.from_matrix"]], "from_matrix() (jaxlie.so2 class method)": [[6, "jaxlie.SO2.from_matrix"]], "from_matrix() (jaxlie.so3 class method)": [[6, "jaxlie.SO3.from_matrix"]], "from_quaternion_xyzw() (jaxlie.so3 static method)": [[6, "jaxlie.SO3.from_quaternion_xyzw"]], "from_radians() (jaxlie.so2 static method)": [[6, "jaxlie.SO2.from_radians"]], "from_rotation() (jaxlie.sebase class method)": [[6, "jaxlie.SEBase.from_rotation"]], "from_rotation_and_translation() (jaxlie.se2 class method)": [[6, "jaxlie.SE2.from_rotation_and_translation"]], "from_rotation_and_translation() (jaxlie.se3 class method)": [[6, "jaxlie.SE3.from_rotation_and_translation"]], "from_rpy_radians() (jaxlie.so3 static method)": [[6, "jaxlie.SO3.from_rpy_radians"]], "from_translation() (jaxlie.sebase class method)": [[6, "jaxlie.SEBase.from_translation"]], "from_x_radians() (jaxlie.so3 static method)": [[6, "jaxlie.SO3.from_x_radians"]], "from_xy_theta() (jaxlie.se2 static method)": [[6, "jaxlie.SE2.from_xy_theta"]], "from_y_radians() (jaxlie.so3 static method)": [[6, "jaxlie.SO3.from_y_radians"]], "from_z_radians() (jaxlie.so3 static method)": [[6, "jaxlie.SO3.from_z_radians"]], "get_batch_axes() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.get_batch_axes"]], "identity() (jaxlie.matrixliegroup class method)": [[6, "jaxlie.MatrixLieGroup.identity"]], "identity() (jaxlie.se2 class method)": [[6, "jaxlie.SE2.identity"]], "identity() (jaxlie.se3 class method)": [[6, "jaxlie.SE3.identity"]], "identity() (jaxlie.so2 class method)": [[6, "jaxlie.SO2.identity"]], "identity() (jaxlie.so3 class method)": [[6, "jaxlie.SO3.identity"]], "inverse() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.inverse"]], "inverse() (jaxlie.sebase method)": [[6, "jaxlie.SEBase.inverse"]], "inverse() (jaxlie.so2 method)": [[6, "jaxlie.SO2.inverse"]], "inverse() (jaxlie.so3 method)": [[6, "jaxlie.SO3.inverse"]], "jaxlie": [[6, "module-jaxlie"]], "log() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.log"]], "log() (jaxlie.se2 method)": [[6, "jaxlie.SE2.log"]], "log() (jaxlie.se3 method)": [[6, "jaxlie.SE3.log"]], "log() (jaxlie.so2 method)": [[6, "jaxlie.SO2.log"]], "log() (jaxlie.so3 method)": [[6, "jaxlie.SO3.log"]], "multiply() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.multiply"]], "multiply() (jaxlie.sebase method)": [[6, "jaxlie.SEBase.multiply"]], "multiply() (jaxlie.so2 method)": [[6, "jaxlie.SO2.multiply"]], "multiply() (jaxlie.so3 method)": [[6, "jaxlie.SO3.multiply"]], "normalize() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.normalize"]], "normalize() (jaxlie.sebase method)": [[6, "jaxlie.SEBase.normalize"]], "normalize() (jaxlie.so2 method)": [[6, "jaxlie.SO2.normalize"]], "normalize() (jaxlie.so3 method)": [[6, "jaxlie.SO3.normalize"]], "parameters() (jaxlie.matrixliegroup method)": [[6, "jaxlie.MatrixLieGroup.parameters"]], "parameters() (jaxlie.se2 method)": [[6, "jaxlie.SE2.parameters"]], "parameters() (jaxlie.se3 method)": [[6, "jaxlie.SE3.parameters"]], "parameters() (jaxlie.so2 method)": [[6, "jaxlie.SO2.parameters"]], "parameters() (jaxlie.so3 method)": [[6, "jaxlie.SO3.parameters"]], "parameters_dim (jaxlie.matrixliegroup attribute)": [[6, "jaxlie.MatrixLieGroup.parameters_dim"]], "rotation() (jaxlie.se2 method)": [[6, "jaxlie.SE2.rotation"]], "rotation() (jaxlie.se3 method)": [[6, "jaxlie.SE3.rotation"]], "rotation() (jaxlie.sebase method)": [[6, "jaxlie.SEBase.rotation"]], "sample_uniform() (jaxlie.matrixliegroup class method)": [[6, "jaxlie.MatrixLieGroup.sample_uniform"]], "sample_uniform() (jaxlie.se2 class method)": [[6, "jaxlie.SE2.sample_uniform"]], "sample_uniform() (jaxlie.se3 class method)": [[6, "jaxlie.SE3.sample_uniform"]], "sample_uniform() (jaxlie.so2 class method)": [[6, "jaxlie.SO2.sample_uniform"]], "sample_uniform() (jaxlie.so3 class method)": [[6, "jaxlie.SO3.sample_uniform"]], "space_dim (jaxlie.matrixliegroup attribute)": [[6, "jaxlie.MatrixLieGroup.space_dim"]], "tangent_dim (jaxlie.matrixliegroup attribute)": [[6, "jaxlie.MatrixLieGroup.tangent_dim"]], "translation() (jaxlie.se2 method)": [[6, "jaxlie.SE2.translation"]], "translation() (jaxlie.se3 method)": [[6, "jaxlie.SE3.translation"]], "translation() (jaxlie.sebase method)": [[6, "jaxlie.SEBase.translation"]], "axisname (in module jaxlie.manifold._backprop)": [[7, "jaxlie.manifold._backprop.AxisName"]], "p (in module jaxlie.manifold._backprop)": [[7, "jaxlie.manifold._backprop.P"]], "grad() (in module jaxlie.manifold._backprop)": [[7, "jaxlie.manifold._backprop.grad"]], "jaxlie.manifold._backprop": [[7, "module-jaxlie.manifold._backprop"]], "value_and_grad() (in module jaxlie.manifold._backprop)": [[7, "jaxlie.manifold._backprop.value_and_grad"]], "zero_tangents() (in module jaxlie.manifold._backprop)": [[7, "jaxlie.manifold._backprop.zero_tangents"]], "grouptype (in module jaxlie.manifold._deltas)": [[8, "jaxlie.manifold._deltas.GroupType"]], "pytreetype (in module jaxlie.manifold._deltas)": [[8, "jaxlie.manifold._deltas.PytreeType"]], "jaxlie.manifold._deltas": [[8, "module-jaxlie.manifold._deltas"]], "rminus() (in module jaxlie.manifold._deltas)": [[8, "jaxlie.manifold._deltas.rminus"]], "rplus() (in module jaxlie.manifold._deltas)": [[8, "jaxlie.manifold._deltas.rplus"]], "rplus_jacobian_parameters_wrt_delta() (in module jaxlie.manifold._deltas)": [[8, "jaxlie.manifold._deltas.rplus_jacobian_parameters_wrt_delta"]], "pytreetype (in module jaxlie.manifold._tree_utils)": [[9, "jaxlie.manifold._tree_utils.PytreeType"]], "tangentpytree (in module jaxlie.manifold._tree_utils)": [[9, "jaxlie.manifold._tree_utils.TangentPytree"]], "jaxlie.manifold._tree_utils": [[9, "module-jaxlie.manifold._tree_utils"]], "normalize_all() (in module jaxlie.manifold._tree_utils)": [[9, "jaxlie.manifold._tree_utils.normalize_all"]], "grad() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.grad"]], "jaxlie.manifold": [[10, "module-jaxlie.manifold"]], "normalize_all() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.normalize_all"]], "rminus() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.rminus"]], "rplus() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.rplus"]], "rplus_jacobian_parameters_wrt_delta() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.rplus_jacobian_parameters_wrt_delta"]], "value_and_grad() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.value_and_grad"]], "zero_tangents() (in module jaxlie.manifold)": [[10, "jaxlie.manifold.zero_tangents"]], "t (in module jaxlie.utils._utils)": [[11, "jaxlie.utils._utils.T"]], "tupleofbroadcastable (in module jaxlie.utils._utils)": [[11, "jaxlie.utils._utils.TupleOfBroadcastable"]], "broadcast_leading_axes() (in module jaxlie.utils._utils)": [[11, "jaxlie.utils._utils.broadcast_leading_axes"]], "get_epsilon() (in module jaxlie.utils._utils)": [[11, "jaxlie.utils._utils.get_epsilon"]], "jaxlie.utils._utils": [[11, "module-jaxlie.utils._utils"]], "register_lie_group() (in module jaxlie.utils._utils)": [[11, "jaxlie.utils._utils.register_lie_group"]], "broadcast_leading_axes() (in module jaxlie.utils)": [[12, "jaxlie.utils.broadcast_leading_axes"]], "get_epsilon() (in module jaxlie.utils)": [[12, "jaxlie.utils.get_epsilon"]], "jaxlie.utils": [[12, "module-jaxlie.utils"]], "register_lie_group() (in module jaxlie.utils)": [[12, "jaxlie.utils.register_lie_group"]]}}) \ No newline at end of file