Class LieGroup
java.lang.Object
org.episteme.core.mathematics.algebra.groups.LieGroup
- All Implemented Interfaces:
Group<Matrix<Complex>>, Magma<Matrix<Complex>>, Monoid<Matrix<Complex>>, Set<Matrix<Complex>>
A Lie group is a group that is also a differentiable manifold.
In this implementation, elements are represented by square matrices over
Complex numbers.
The group is generated by a set of generators (matrices) from its
corresponding Lie Algebra.
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanTests whether this set contains the specified element.Returns a human-readable description of this set.intReturns the dimension of the Lie Group (number of generators).getElement(Vector<Real> v) Generates a group element near the identity using the exponential map approximation.identity()Returns the identity element of this monoid.Returns the inverse of the given element.booleanTests whether this is an abelian (commutative) group.booleanisEmpty()Returnstrueif this set contains no elements.Performs the binary operation on two elements.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Monoid
isAssociative
-
Constructor Details
-
LieGroup
Constructs a Lie Group from a set of generators.- Parameters:
generators- the generators of the group (from Lie Algebra)- Throws:
IllegalArgumentException- if generators is empty or not square
-
-
Method Details
-
dimension
public int dimension()Returns the dimension of the Lie Group (number of generators).- Returns:
- the dimension
-
getElement
Generates a group element near the identity using the exponential map approximation.element = I + i * sum(v_k * G_k) This is a linearization valid for small v.
- Parameters:
v- the vector of coefficients (must match dimension)- Returns:
- the group element (Matrix)
-
operate
Description copied from interface:MagmaPerforms the binary operation on two elements.This is the fundamental operation of a magma. The result must be an element of this magma (closure property).
Properties: None required (not necessarily associative or commutative)
-
identity
-
inverse
Description copied from interface:GroupReturns the inverse of the given element.For element a, returns a⻹ such that: a ∗ a⻹ = a⻹ ∗ a = e (identity).
-
isCommutative
public boolean isCommutative()Description copied from interface:GroupTests whether this is an abelian (commutative) group.- Specified by:
isCommutativein interfaceGroup<Matrix<Complex>>- Specified by:
isCommutativein interfaceMagma<Matrix<Complex>>- Returns:
trueif this group is abelian
-
description
Description copied from interface:SetReturns a human-readable description of this set.Examples:
- "â„ (Real Numbers)"
- "ℤ/12ℤ (Integers modulo 12)"
- "{1, 2, 3, 4, 5}"
- Specified by:
descriptionin interfaceSet<Matrix<Complex>>- Returns:
- a description of this set
-
isEmpty
public boolean isEmpty()Description copied from interface:SetReturnstrueif this set contains no elements.The empty set (∅) is a fundamental concept in set theory. It is the unique set containing no elements.
-
contains
Description copied from interface:SetTests whether this set contains the specified element.This is the fundamental operation of a set - membership testing.
-