Skip to content

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 (d,d,d) and a ring R, return the d-dimensional structure constant algebra over R. The basis e of R satisfies 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
julia> associative_algebra(QQ, reshape([1, 0, 0, 2, 0, 1, 1, 0], (2, 2, 2)))
Structure constant algebra of dimension 2 over QQ

source

structure_constant_algebra Method
julia
structure_constant_algebra(K::SimpleNumField) -> StructureConstantAlgebra, Map

Given a number field L/K, return L as a K-algebra A together with a K-linear map AL.

Examples

julia
julia> L, = quadratic_field(2);

julia> structure_constant_algebra(L)
(Structure constant algebra of dimension 2 over QQ, Map: structure constant algebra -> real quadratic field)

source

Structure constant table

structure_constant_table Method
julia
structure_constant_table(A::StructureConstantAlgebra; copy::Bool = true) -> Array{_, 3}

Given an algebra A, return the structure constant table of A. See structure_constant_algebra for the defining property.

Examples

julia
julia> 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

source