Skip to content

Releases: sandialabs/Lielab

v0.4.1

30 Sep 03:30
Compare
Choose a tag to compare
  • Updated README for capitalized Lielab.hpp include as well as Python install.
  • Fixed some broken relative imports.
  • Added MacOS binary to Python setup.py
  • Changed pybind11 requirement to 2.12.0 to fix Numpy 2 segfaults.
  • Added find_package() to find python prior to import pybind11.
  • Added overloads for dexp, dexpinv from Iserles appendix B
  • Added exp and log overloads for SO(2)/so(2)
  • Changed numerical methods to havee explicit X_numerical naming convention allowing for bypassing the overloads.
  • Moved dcayley1inv to topos subfolder
  • Moved dexpinv to topos subfolder
  • Fixed a bug where certain topos functions wouldn't call on complex domains
  • Added se(4)/SE(4) overload for exp
  • Added se(4)/SE(4) overload for log
  • Added auto object naming to cppLielab for clearer organization
  • Added from_quaternion as a static initializer for SO
  • Changed SU initializer Quaternion to be called from_quaternion and removed the empty argument
  • Fixed a bug in gibbs vector conversion where a constant of 2.8 was used instead of 2.0
  • Renamed eangleXYYY_to_dcm to from_eulerangles_XYYY
  • Renamed gibbs_to_dcm to from_rodriguesvector
  • Moved from_eulerangles_XYYY to be static initializer methods of SO objects
  • Moved from_rodriguesvector to be a static initializer method of SO objects
  • Added missing operator* Python bindings for (se, LieGroup) types
  • Added explicit import statements in Python init files to directly expose methods and functions to IDEs.
  • Added missing python bindings for cayley1 and dcayley1inv in topos submodule.
  • Added specification that su(n) is the skew-Hermitian version.
  • Fixed a bug in su(3+) where an inplace operation in get_vector() was not being evaluated correctly.
  • Added exp overload for se(3)
  • Added log overload for SE(3)
  • Added dexp overload for se(3) and se(4) (se2 and se3)
  • Added single-input dexp() calculation for both so and se
  • Added dexpinv overload for se(3) and se(4) (se2 and se3)
  • Added single-input dexpinv() calculation for both so and se
  • Added a template for docstrings.
  • Updated documentation for some functions.
  • Updated docs for exp function.
  • Updated docs for log function.
  • Updated docs for dexp function.
  • Updated docs for dexpinv function.
  • Added single-input overload for ad for so(3)
  • Added little ad overloads for se(2) and se(3) (shapes 3 and 4)
  • Added ad_numerical.
  • Added power input for ad.
  • Added cn and rn overloads for ad.
  • Added order as a default argument to all dexp calls regardless of numerical or analytical structure.
  • Added catch-all overloads for single-input dexp. This will throw an error, but will be clear as to what is not implemented.
  • Added order as a default argument to all dexpinv calls regardless of numerical or analytical structure.
  • Added catch-all overloads for single-input dexpinv. This will throw an error, but will be clear as to what is not implemented.
  • Added ad Python bindings for gl and glc
  • Added single-input ad Python bindings for sp and su
  • Added ad_numerical Python bindings for gl and glc
  • Added single-input ad_numerical Python bindings for sp and su
  • Fully overloaded single-input ad with catch-all templates regardless of completeness of implementation.
  • Added fully numerical procedure for single input ad_numerical
  • Added full series summation for single-input dexp
  • Added full series summation for single-input dexpinv
  • Added a check for theta=0 in exp overload for so(3), se(2) (shape 3), and se(3) (shape 4)
  • Added a check for theta=0 in dexp overload for so(3), se(2) (shape 3), and se(3) (shape 4)
  • Added a check for theta=0 in dexpinv overload for so(3)
  • Fixed a bug in dexp overload for se(2) (shape 3) where the wrong btheta limit was used.
  • Added shape size checking for many functions
  • Added const-qualified inputs for Killing and Killingform
  • Fixed a bug in dexpinv where order 0 and order 1 assumed the same degree of summation expansion.
  • Removed order 0 returns 0 vector assumption from dexpinv and adjusted test cases accordingly.
  • Added so(2) overloads for dexp and dexpinv
  • Updated cpp functions tests to reflect new dexpinv order
  • Changed conanfile from txt to py format, added cmake as a build requirement, and set c++20 as a requirement in conanfile

Full Changelog: v0.4.0...v0.4.1

v0.4.0

04 May 01:34
Compare
Choose a tag to compare
  • Added general cross algebra and cross group operators
  • Changed get_ados_representation() to get_matrix()

v0.3.2.1

29 Apr 18:58
Compare
Choose a tag to compare
  • Quick fix for cn bug

v0.3.2

29 Apr 18:52
Compare
Choose a tag to compare
  • Added glc/GLC

v0.3.1

29 Apr 18:38
Compare
Choose a tag to compare
  • Added cn/CN

v0.3.0

29 Apr 18:16
064d312
Compare
Choose a tag to compare
  • Changed hmlie and halie to CompositeManifold and CompositeAlgebra to be clearer

v0.2.1

29 Apr 17:17
Compare
Choose a tag to compare
  • Added se/SE
  • Fixed bugs where some functions in topos didnt operate on gl and other spaces within halie and hmlie

v0.2.0

29 Apr 16:58
Compare
Choose a tag to compare
  • Assume algebras form a group under addition
  • Added algebras to hmlie under this assumption
  • Changed unserialize op from static method to void editing data in place.
  • Added unserialize to all lie groups
  • Added get_size to all lie groups
  • Changed action signature from (g, M) -> (M) to (G, M) -> (M)
  • Removed left_exp_default action
  • Added left_product action
  • Added coordinate map to MK flow
  • Changed SU serialization to not assume quaternion format
  • Generalized SU(n) to n -> inf

v0.1.2

29 Apr 15:47
Compare
Choose a tag to compare
  • Added algebras to hmlie
  • Further generalized su and SU
  • Removed Pauli and Gell-Mann constant matrices

v0.1.1

15 Mar 20:33
Compare
Choose a tag to compare

Initial release.