[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Construction of Structure Constant Algebras and their Elements

Construction of Structure Constant Algebras and their Elements

Subsections

Construction of a Structure Constant Algebra

There are three ways in Magma to specify the structure constants for a structure constant algebra A of dimension n. The first is to give n^3 ring elements, the second to identify A with the module M = R^n and give the products e_i * e_j as elements of M and the third to specify only the non-zero structure constants.

Algebra< R, n | Q : parameters > : Rng, RngIntElt, SeqEnum -> AlgGen
Algebra< M | Q : parameters > : ModTupRng, SeqEnum -> AlgGen
    Rep: MonStgElt                      Default: "Dense"
This function creates the structure constant algebra A over the free module M = R^n, with standard basis (e_1, e_2, ..., e_n), and with the structure constants a_(ij)^k being given by the sequence Q. The sequence Q can be of any of the following three forms. Note that in all cases the actual ordering of the structure constants is the same: it is only their division that varies. The optional parameter Rep can be used to select the internal representation of the structure constants. The possible values for Rep are "Dense", "Sparse" and "Partial", with the default being "Dense". In the dense format, the n^3 structure constants are stored as n^2 vectors of length n, similarly to (ii) above. This is the best representation if most of the structure constants are non-zero. The sparse format, intended for use when most structure constants are zero, stores the positions and values of the non-zero structure constants. The partial format stores the vectors, but records for efficiency the positions of the non-zero structure constants.
Algebra< R, n | T : parameters > : Rng, RngIntElt, SeqEnum -> AlgGen
    Rep: MonStgElt                      Default: "Sparse"
This function creates the structure constant algebra A with standard basis (e_1, e_2, ..., e_n) over R. The sequence T contains quadruples < i, j, k, a_(ij)^k> giving the non-zero structure constants. All other structure constants are defined to be 0.

As above, the optional parameter Rep can be used to select the internal representation of the structure constants.

Construction of Elements of a Structure Constant Algebra

elt< A | r_1, r_2, ..., r_n > : AlgGen, RngElt, RngElt, ..., RngElt -> AlgGenElt
Given a structure constant algebra A of dimension n over a ring R, and ring elements r_1, r_2, ..., r_n in R construct the element r_1 * e_1 + r_2 * e_2 + ... + r_n * e_n of A.
A ! Q : AlgGen, SeqEnum[RngElt] -> AlgGenElt
Given a structure constant algebra A of dimension n and a sequence Q = [r_1, r_2, ..., r_n] of elements of the base ring R of A, construct the element r_1 * e_1 + r_2 * e_2 + ... + r_n * e_n of A.
BasisProduct(A, i, j) : AlgGen, RngIntElt, RngIntElt -> AlgGenElt
Return the product of the i-th and j-th basis element of A.
BasisProducts(A) : AlgGen -> [[ AlgGenElt ]]
Return the products of all basis elements of A as a sequence Q of n sequences of n elements of A, where n is the dimension of A. The element Q[i][j] is the product of the i-th and j-th basis elements.
[Next] [Prev] [Right] [Left] [Up] [Index] [Root]