Lielab

Latest version: v0.4.2

Safety actively analyzes 701525 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.4.2

- Added a few computations for single-input Ad functions.
- Added ad calculation for su(2).
- Added dexp calculation for su(2).
- Added dexpinv calculation for su(2).
- Added dlog as simple overload for dexpinv.
- Added coad as a transformed call on ad.
- Added get_matrix() method to CompositeAlgebra and CompositeManifold. This returns a block diagonal representation of the Algebra/Manifold comprised of each component's matrix as a block.
- Changed ad calculation for so to use power formula instead of recursive calls.
- Changed ad calculation for se to use either power formula or looped calculation instead of recursive calls.
- Fixed a bug in dexp for so(3) where the wrong limit was used for small theta.
- Fixed a bug in ad for se(2) (shape 3) where the coefficient used the wrong power of theta.
- Fixed bugs in log for SE(2) and SE(3) where using the overloaded formula at 0 angle resulted in a divide by zero, thus returning nans.

0.4.1

- 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**: https://github.com/sandialabs/Lielab/compare/v0.4.0...v0.4.1

0.4.0

- Added general cross algebra and cross group operators
- Changed get_ados_representation() to get_matrix()

0.3.2.1

- Quick fix for cn bug

0.3.2

- Added glc/GLC

0.3.1

- Added cn/CN

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.