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.
Given a finite dimensional fp-algebra A, return the dimension of A.
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.
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.
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.
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).
Given an element f of a finite dimensional fp-algebra A defined over a field, return whether f is a unit.
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.
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.
> 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 ]