Finite Dimensional FP- Algebras

If an fp-algebra A has finite dimension, considered as a vector space over its coefficient field, then extra special operations are available for A and the elements of A.

Dimension(A) : AlgFP -> RngIntElt
Given a finite dimensional fp-algebra A, return the dimension of A.
VectorSpace(A) : AlgFP -> ModTupFld, Map
Given a finite dimensional fp-algebra A, construct the vector space V isomorphic to A, and return V together with the isomorphism f from A onto V.
MatrixAlgebra(A) : AlgFP -> AlgMat, Map
Given a finite dimensional fp-algebra A, construct the matrix algebra M isomorphic to A, and return M together with the isomorphism f from A onto M.
Algebra(A) : AlgFP -> AlgAss, Map
Given a finite dimensional fp-algebra A, construct the associative structure-constant algebra S isomorphic to A, and return S together with the isomorphism f from A onto S.
RepresentationMatrix(f) : AlgFPElt -> AlgMatElt
Given an element f of a finite dimensional fp-algebra A, return the representation matrix of f, which is a d by d matrix over the coefficient field of A which represents f (where d is the dimension of A).
IsUnit(f) : AlgFPElt -> BoolElt
Given an element f of a finite dimensional fp-algebra A defined over a field, return whether f is a unit.
IsNilpotent(f) : AlgFPElt -> BoolElt, RngIntElt
Given an element f of a finite dimensional fp-algebra A defined over a field, return whether f is nilpotent, and if so, return also the smallest q such that fq = 0.
MinimalPolynomial(f) : AlgFPElt -> RngUPol
Given an element f of a finite dimensional fp-algebra A defined over a field, return the minimal polynomial of f as a univariate polynomial over the coefficient field of A.

Example AlgFP_FiniteDimensional (H89E7)

We demonstrate the functions available for finite-dimensional fp-algebras.
> K := RationalField();
> A<x,y,z> := FPAlgebra<K, x,y,z |
>           x^2 - y*z*y + z, y^2 - y*x*y + 1, z^2 - y*x*y - x*z*x>;
> A;
Finitely Presented Algebra of rank 3 over Rational Field
Non-commutative Graded Lexicographical Order
Variables: x, y, z
Quotient relations:
[
    y^4 - 7/2*z^2*x + z^3 - 1/2*x^2 + 2*y^2 + z*x + z^2 + x + 1,
    z*y*x^2 + y^3 - z^2*y + y,
    z^2*y*x - 1/2*z*y*z - z^2*y - 1/2*y*x,
    z^2*y*z - 3/2*y*x^2 - 3/4*z*y*z - 3/2*z^2*y - 3/4*y*x - y*z - z*y,
    z^3*x - 3/2*z^3 - 1/2*z*x,
    z^3*y - 3/2*y*x^2 - 3/4*z*y*z - 3/2*z^2*y - 3/4*y*x - y*z - z*y,
    z^4 - 2*z^2*x - 9/4*z^3 + 3/2*y^2 - 3/4*z*x - 1/2*z^2 + x + 3/2,
    x^3 + 3/2*z^2*x - z^3 + 1/2*x^2 + z*x,
    y^2*x - y^2 - 1,
    y^2*z + 3/2*z^2*x - z^3 + 1/2*x^2 + z,
    y*z*x - z*y*x,
    y*z*y - x^2 - z,
    y*z^2 - z^2*y,
    z*x^2 + y^2 - z^2 + 1,
    z*y^2 + 3/2*z^2*x - z^3 + 1/2*x^2 + z,
    x*y - y*x,
    x*z - z*x
]
> IsCommutative(A);
false
> y*z;
y*z
> z*y;
z*y
> U<u> := PolynomialRing(K);
> MinimalPolynomial(x);
u^8 - 7/2*u^7 + 4*u^6 - 3/2*u^5 - 1/2*u^4 + 2*u^3 - 2*u^2
> MinimalPolynomial(y);
u^16 - u^12 + 3*u^10 + u^8 - 10*u^6 - 15*u^4 - 9*u^2 - 2
> Dimension(A);
18
> V, Vf := VectorSpace(A);
> V;
Full Vector space of degree 18 over Rational Field
> Vf(x);
(0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
> [V.i@@Vf: i in [1 .. Dimension(V)]];
[
    1,
    z,
    y,
    x,
    z^2,
    z*y,
    z*x,
    y*z,
    y^2,
    y*x,
    x^2,
    z^3,
    z^2*y,
    z^2*x,
    z*y*z,
    z*y*x,
    y^3,
    y*x^2
]
> M, Mf := MatrixAlgebra(A);
> M;
Matrix Algebra of degree 18 with 4 generators over Rational Field
> M.1;
[0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0]
[-1 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0]
[1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]
[0 0 0 0 0 0 -1 0 0 0 -1/2 1 0 -3/2 0 0 0 0]
[0 0 0 0 0 0 1/2 0 0 0 0 3/2 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 1/2 0 0 1 0 1/2 0 0 0]
[0 0 0 0 0 0 0 0 0 0 1/2 0 0 3/2 0 0 0 0]
[0 0 0 0 0 0 0 0 0 1/2 0 0 1 0 1/2 0 0 0]
[0 0 -1 0 0 0 0 0 0 0 0 0 1 0 0 0 -1 0]
[0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
[0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 -1 0 1]
> M.1 eq RepresentationMatrix(x);
true
> MinimalPolynomial(M.1);
u^8 - 7/2*u^7 + 4*u^6 - 3/2*u^5 - 1/2*u^4 + 2*u^3 - 2*u^2
> FactoredMinimalPolynomial(M.1);
[
    <u, 2>,
    <u^6 - 7/2*u^5 + 4*u^4 - 3/2*u^3 - 1/2*u^2 + 2*u - 2, 1>
]
> N := Kernel(M.1);
> N;
Vector space of degree 18, dimension 4 over Rational Field
Echelonized basis:
(0 1 0 0 0 0 0 0 0 0 3/4 -1/2 0 3/4 0 0 0 0)
(0 0 0 1 3 0 0 0 0 0 0 0 0 -2 0 0 0 0)
(0 0 0 0 0 1 0 -1 0 0 0 0 0 0 0 0 0 0)
(0 0 0 0 0 0 0 0 0 0 0 0 1 0 -1 0 0 0)
> a := N.1 @@ Vf;
> a;
3/4*z^2*x - 1/2*z^3 + 3/4*x^2 + z
> IsNilpotent(a);
true 3
> a^3;
0
> S, Sf := Algebra(A);
> S;
Associative Algebra of dimension 18 with base ring Rational Field
> Centre(S);
Associative Algebra of dimension 15 with base ring Rational Field
> J := JacobsonRadical(S);
> J;
Associative Algebra of dimension 4 with base ring Rational Field
> L := [J.i@@Sf: i in [1 .. 4]];
> L;
[
    3/4*z^2*x - 1/2*z^3 + 3/4*x^2 + z,
    -2*z^2*x + 3*z^2 + x,
    -y*z + z*y,
    -z*y*z + z^2*y
]
> [MinimalPolynomial(x): x in L];
[
    u^3,
    u^2,
    u^3,
    u^2
]
V2.28, 13 July 2023