Lie Algebras Given By Structure Coefficients¶
AUTHORS:
Travis Scrimshaw (2013-05-03): Initial version
- class sage.algebras.lie_algebras.structure_coefficients.LieAlgebraWithStructureCoefficients(R, s_coeff, names, index_set, category=None, prefix=None, bracket=None, latex_bracket=None, string_quotes=None, **kwds)¶
Bases:
sage.algebras.lie_algebras.lie_algebra.FinitelyGeneratedLieAlgebra,sage.structure.indexed_generators.IndexedGeneratorsA Lie algebra with a set of specified structure coefficients.
The structure coefficients are specified as a dictionary \(d\) whose keys are pairs of basis indices, and whose values are dictionaries which in turn are indexed by basis indices. The value of \(d\) at a pair \((u, v)\) of basis indices is the dictionary whose \(w\)-th entry (for \(w\) a basis index) is the coefficient of \(b_w\) in the Lie bracket \([b_u, b_v]\) (where \(b_x\) means the basis element with index \(x\)).
INPUT:
R– a ring, to be used as the base rings_coeff– a dictionary, indexed by pairs of basis indices (see below), and whose values are dictionaries which are indexed by (single) basis indices and whose values are elements of \(R\)names– list or tuple of stringsindex_set– (default:names) list or tuple of hashable and comparable elements
OUTPUT:
A Lie algebra over
Rwhich (as an \(R\)-module) is free with a basis indexed by the elements ofindex_set. The \(i\)-th basis element is displayed using the namenames[i]. If we let \(b_i\) denote this \(i\)-th basis element, then the Lie bracket is given by the requirement that the \(b_k\)-coefficient of \([b_i, b_j]\) iss_coeff[(i, j)][k]ifs_coeff[(i, j)]exists, otherwise-s_coeff[(j, i)][k]ifs_coeff[(j, i)]exists, otherwise \(0\).EXAMPLES:
We create the Lie algebra of \(\QQ^3\) under the Lie bracket defined by \(\times\) (cross-product):
sage: L = LieAlgebra(QQ, 'x,y,z', {('x','y'): {'z':1}, ('y','z'): {'x':1}, ('z','x'): {'y':1}}) sage: (x,y,z) = L.gens() sage: L.bracket(x, y) z sage: L.bracket(y, x) -z
- class Element¶
Bases:
sage.algebras.lie_algebras.lie_algebra_element.StructureCoefficientsElement
- change_ring(R)¶
Return a Lie algebra with identical structure coefficients over
R.INPUT:
R– a ring
EXAMPLES:
sage: L.<x,y,z> = LieAlgebra(ZZ, {('x','y'): {'z':1}}) sage: L.structure_coefficients() Finite family {('x', 'y'): z} sage: LQQ = L.change_ring(QQ) sage: LQQ.structure_coefficients() Finite family {('x', 'y'): z} sage: LSR = LQQ.change_ring(SR) sage: LSR.structure_coefficients() Finite family {('x', 'y'): z}
- dimension()¶
Return the dimension of
self.EXAMPLES:
sage: L = LieAlgebra(QQ, 'x,y', {('x','y'):{'x':1}}) sage: L.dimension() 2
- from_vector(v, order=None, coerce=True)¶
Return an element of
selffrom the vectorv.EXAMPLES:
sage: L.<x,y,z> = LieAlgebra(QQ, {('x','y'): {'z':1}}) sage: L.from_vector([1, 2, -2]) x + 2*y - 2*z
- module(sparse=True)¶
Return
selfas a free module.EXAMPLES:
sage: L.<x,y,z> = LieAlgebra(QQ, {('x','y'):{'z':1}}) sage: L.module() Sparse vector space of dimension 3 over Rational Field
- monomial(k)¶
Return the monomial indexed by
k.EXAMPLES:
sage: L.<x,y,z> = LieAlgebra(QQ, {('x','y'): {'z':1}}) sage: L.monomial('x') x
- some_elements()¶
Return some elements of
self.EXAMPLES:
sage: L = lie_algebras.three_dimensional(QQ, 4, 1, -1, 2) sage: L.some_elements() [X, Y, Z, X + Y + Z]
- structure_coefficients(include_zeros=False)¶
Return the dictionary of structure coefficients of
self.EXAMPLES:
sage: L = LieAlgebra(QQ, 'x,y,z', {('x','y'): {'x':1}}) sage: L.structure_coefficients() Finite family {('x', 'y'): x} sage: S = L.structure_coefficients(True); S Finite family {('x', 'y'): x, ('x', 'z'): 0, ('y', 'z'): 0} sage: S['x','z'].parent() is L True
- term(k, c=None)¶
Return the term indexed by
iwith coefficientc.EXAMPLES:
sage: L.<x,y,z> = LieAlgebra(QQ, {('x','y'): {'z':1}}) sage: L.term('x', 4) 4*x
- zero()¶
Return the element \(0\) in
self.EXAMPLES:
sage: L.<x,y,z> = LieAlgebra(QQ, {('x','y'): {'z':1}}) sage: L.zero() 0