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
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.
- A sequence of n sequences of n sequences of length n. The j-th element of the i-th sequence is the sequence [ a_(ij)^1, ..., a_(ij)^n ], or the element (a_(ij)^1, ..., a_(ij)^n) of M, giving the coefficients of the product e_i * e_j.
- A sequence of n^2 sequences of length n, or n^2 elements of M. Here the coefficients of e_i * e_j are given by position (i - 1) * n + j of Q.
- A sequence of n^3 elements of the ring R. Here the sequence elements are the structure constants themselves, with the ordering a_(11)^1, a_(11)^2, ..., a_(11)^n, a_(12)^1, a_(12)^2, ..., a_(nn)^n. So a_(ij)^k lies in position (i - 1) * n^2 + (j - 1) * n + k of Q.
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.
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.
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.
Return the product of the i-th and j-th basis element of A.
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]