# Structure Constant Algebras

- [Introduction](introduction.md)

- [Construction of Structure Constant Algebras and Elements](creation.md)

  - [Construction of a Structure Constant Algebra](creation.md#construction-of-a-structure-constant-algebra)

    - [`Algebra< R, n | Q : parameters >: Rng, RngIntElt, SeqEnum → AlgGen`](creation.md#constructor-constructor-algebra-rng-rngintelt-seqenum-alggen)

    - [`Algebra< M | Q : parameters >: ModTupRng, SeqEnum → AlgGen`](creation.md#constructor-constructor-algebra-modtuprng-seqenum-alggen)

    - [`Algebra< R, n | T : parameters >: Rng, RngIntElt, SeqEnum → AlgGen`](creation.md#constructor-constructor-algebra-rng-rngintelt-seqenum-alggen-2)

    - [`ChangeBasis(A, B): AlgGen, {[AlgGenElt]} → AlgGen`](creation.md#function-changebasis-alggen-alggenelt)

    - [`ChangeBasis(A, B): AlgGen, {[ModTupFldElt]} → AlgGen`](creation.md#function-changebasis-alggen-modtupfldelt)

    - [`ChangeBasis(A, B): AlgGen, Mtrx → AlgGen`](creation.md#function-changebasis-alggen-mtrx)

  - [Construction of Elements of a Structure Constant Algebra](creation.md#construction-of-elements-of-a-structure-constant-algebra)

    - [`elt< A | r₁, r₂, ..., rₙ >: AlgGen, RngElt, RngElt, ..., RngElt → AlgGenElt`](creation.md#constructor-constructor-elt-alggen-rngelt-rngelt-rngelt-alggenelt)

    - [`A ! Q: AlgGen, SeqEnum[RngElt] → AlgGenElt`](creation.md#operation-op-alggen-seqenum-rngelt)

    - [`BasisProduct(A, i, j): AlgGen, RngIntElt, RngIntElt → AlgGenElt`](creation.md#function-basisproduct-alggen-rngintelt-rngintelt)

    - [`BasisProducts(A): AlgGen → SeqEnum`](creation.md#function-basisproducts-alggen)

- [Operations on Structure Constant Algebras and Elements](creation-2.md)

  - [Operations on Structure Constant Algebras](creation-2.md#operations-on-structure-constant-algebras)

    - [`IsCommutative(A): AlgGen → BoolElt`](creation-2.md#function-iscommutative-alggen)

    - [`IsAssociative(A): AlgGen → BoolElt`](creation-2.md#function-isassociative-alggen)

    - [`IsLie(A): AlgGen → BoolElt`](creation-2.md#function-islie-alggen)

    - [`DirectSum(A, B): AlgGen, AlgGen → AlgGen`](creation-2.md#function-directsum-alggen-alggen)

    - [`Example: jordan`](creation-2.md#example-ex-381ebc)

  - [Indexing Elements](creation-2.md#indexing-elements)

    - [`a[i]: AlgGenElt, RngIntElt → RngElt`](creation-2.md#indexed-indexed-a-alggenelt-rngintelt-rngelt)

    - [`a[i] := r: AlgGenElt, RngIntElt, RngElt → AlgGenElt`](creation-2.md#literal-literal-a-i-r-alggenelt-rngintelt-rngelt-alggenelt)

  - [The Module Structure of a Structure Constant Algebra](creation-2.md#the-module-structure-of-a-structure-constant-algebra)

    - [`Module(A): AlgGen → ModTupRng`](creation-2.md#function-module-alggen)

    - [`Degree(A): AlgGen → RngIntElt`](creation-2.md#function-degree-alggen)

    - [`Degree(a): AlgGenElt → RngIntElt`](creation-2.md#function-degree-alggenelt)

    - [`ElementToSequence(a): AlgGenElt → SeqEnum`](creation-2.md#function-elementtosequence-alggenelt)

    - [`Eltseq(a): AlgGenElt → SeqEnum`](creation-2.md#function-eltseq-alggenelt)

    - [`Coordinates(S, a): AlgGen, AlgGenElt → SeqEnum`](creation-2.md#function-coordinates-alggen-alggenelt)

    - [`InnerProduct(a, b): AlgGenElt, AlgGenElt → RngElt`](creation-2.md#function-innerproduct-alggenelt-alggenelt)

    - [`Support(a): AlgGenElt → SetEnum`](creation-2.md#function-support-alggenelt)

  - [Homomorphisms](creation-2.md#homomorphisms)

    - [`hom< A -> B | Q >: AlgGen, AlgGen, [ AlgGenElt ] → Map`](creation-2.md#constructor-constructor-hom-alggen-alggen-alggenelt-map)

    - [`hom< A -> B | Q >: AlgGen, TupMod, [ TupModElt ] → Map`](creation-2.md#constructor-constructor-hom-alggen-tupmod-tupmodelt-map)

    - [`Example: cayley`](creation-2.md#example-ex-fafa2a)
