lie-0.1.0.0: Lie Algebras

Copyright(c) Felix Springer 2019
LicenseBSD3
Maintainerfelixspringer149@gmail.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellSafe
LanguageHaskell2010

Lie.LieAlgebra

Description

This module translates the mathematical definition of a Lie Algebra into a Class LieAlgebra, which also wraps around the other modules.

Synopsis

Documentation

class LieAlgebra a s | a -> s where Source #

Vectorspace with Lie Bracket

Minimal complete definition

(|+|), (|*|), (|.|), basis, trace

Methods

(|+|) :: a -> a -> a Source #

Addition should satisfy the following attributes.

  • Associativity:
(x |+| y) |+| z == x |+| (y |+| z)
  • Commutativity:
x |+| y == y |+| x
  • Neutral element 0 exists:
x |+| 0 == x
  • Inverse element (-x) exists:
x |+| (-x) == 0

(|*|) :: s -> a -> a Source #

Scalar Multiplication should satisfy the following attributes.

  • Distributivity:
a |*| (x |+| y) == (a |*| x) |+| (a |*| y)
  • Neutral element 1 exists:
1 |*| x == x

(|.|) :: a -> a -> a Source #

Lie Bracket should satisfy the following attributes.

  • Bilinearity:
a |*| (x |.| y) == (a |*| x) |.| y
(x |+| y) |.| z == (x |.| z) |+| (y |.| z)
  • Antisymmetry:
x |.| y == - (y |.| x)
  • Jacobi-Identity:
x |.| (y |.| z) + y |.| (z |.| x) + z |.| (x |.| y) = 0

basis :: [a] Source #

Ordered Basis Vectors of the Lie Algebra:

  • linearly independent
  • span the whole Vectorspace

linearCombination :: [s] -> a Source #

Linear Combination of basis vectors, where the order refers to the Basis and the values are the coefficients

adjunction :: a -> a -> a Source #

Natural way one would define a dual to the elements in the Lie Algebra

trace :: (a -> a) -> s Source #

Calculates the Trace of an object in the Dual Vectorspace of the Lie Algebra

(<|>) :: (a -> a) -> (a -> a) -> s Source #

Killing Form, which is a scalar product on the Dual Vectorspace of the Lie Algebra