diff --git a/.doctrees/api/jaxlie/_se2/index.doctree b/.doctrees/api/jaxlie/_se2/index.doctree index 17bd11d..d1e9f0b 100644 Binary files a/.doctrees/api/jaxlie/_se2/index.doctree and b/.doctrees/api/jaxlie/_se2/index.doctree differ diff --git a/.doctrees/api/jaxlie/index.doctree b/.doctrees/api/jaxlie/index.doctree index 73167c6..77e54db 100644 Binary files a/.doctrees/api/jaxlie/index.doctree and b/.doctrees/api/jaxlie/index.doctree differ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 3114a4e..769f881 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ 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