package jsci.maths.algebras;

import jsci.maths.*;
import jsci.maths.fields.ComplexField;
import jsci.maths.matrices.AbstractComplexSquareMatrix;
import jsci.maths.vectors.AbstractDoubleVector;

/**
* The LieAlgebra class provides an abstract encapsulation for Lie algebras.
* Elements are represented by vectors with a matrix basis.
* @jsci.planetmath LieAlgebra
* @version 1.2
* @author Mark Hale
*/
public abstract class LieAlgebra extends Object {
        private String label;
        /**
        * Constructs a Lie algebra.
        * @param aLabel a label that identifies this algebra
        */
        public LieAlgebra(String aLabel) {
                label=aLabel;
        }
        /**
        * Returns a string representing this algebra.
        */
        public final String toString() {
                return label;
        }
        /**
        * Returns an element as a matrix (vector*basis).
        */
        public abstract AbstractComplexSquareMatrix getElement(AbstractDoubleVector v);
        /**
        * Returns the Lie bracket (commutator) of two elements.
        */
        public abstract AbstractDoubleVector multiply(AbstractDoubleVector a, AbstractDoubleVector b);
        /**
        * Returns the basis used to represent the Lie algebra.
        */
        public abstract AbstractComplexSquareMatrix[] basis();
}


 

Ads help maintain this website.