Structure constant algebras
Creation
structure_constant_algebra Method
julia
structure_constant_algebra(R::Ring, sctable::Array{_, 3}; one::Vector = nothing,
check::Bool = true)Given an array with dimensions e of e[i] * e[j] = sum(sctable[i,j,k] * e[k] for k in 1:d).
Unless check = false, this includes (time consuming) associativity and distributivity checks. If one is given, record the element with the supplied coordinate vector as the one element of the algebra.
Examples
julia
sourcejulia> associative_algebra(QQ, reshape([1, 0, 0, 2, 0, 1, 1, 0], (2, 2, 2)))
Structure constant algebra of dimension 2 over QQstructure_constant_algebra Method
julia
structure_constant_algebra(K::SimpleNumField) -> StructureConstantAlgebra, MapGiven a number field
Examples
julia
sourcejulia> L, = quadratic_field(2);
julia> structure_constant_algebra(L)
(Structure constant algebra of dimension 2 over QQ, Map: structure constant algebra -> L)Structure constant table
structure_constant_table Method
julia
structure_constant_table(A::StructureConstantAlgebra; copy::Bool = true) -> Array{_, 3}Given an algebra structure_constant_algebra for the defining property.
Examples
julia
sourcejulia> A = associative_algebra(QQ, reshape([1, 0, 0, 2, 0, 1, 1, 0], (2, 2, 2)));
julia> structure_constant_table(A)
2×2×2 Array{QQFieldElem, 3}:
[:, :, 1] =
1 0
0 2
[:, :, 2] =
0 1
1 0