TransformUtils.jl icon indicating copy to clipboard operation
TransformUtils.jl copied to clipboard

Lie groups and algebra with some quaternions

TransformUtils.jl

Build Status codecov.io TransformUtils TransformUtils TransformUtils

Lie groups and algebra, quaternions, Angle Axis and Euler angles; products and compare also available.

NOTICE

(4Q2020) This package should become a utility wrapper around CoordinateTransformations.jl and probably change name to CoordinateTransformationsUtilities.jl. Also see Rotations.jl which also supports type conversions. Work is ongoing to consolidate with JuliaManifolds.

Introduction

This package is a growing collection of Lie Group/Algebra, Quaternion, Euler, AxisAngle representations. Including convert functions between each, and overloading operators for those sets. The package already includes exponential, logarithm maps and Jacobians for Lie SO(3). SE(3) mostly complete.

Interesting usage

Supports mangle products, for example (using identity constructors):

julia> pp = SO3(0) * Quaternion(0) * so3(0.1*randn(3)) * AngleAxis(0)

Or maybe you want to compare against another rotation

julia> compare(SO3(0), pp) # returns true or false

Install

Pkg.add("TransformUtils")

To do's

Mangled compare functions

compare(Quaternion(0), SO3(0))

Rework SE(2) to type, and not functions