The functions in this group apply to (elements of) matrix algebras whose coefficient rings are fields which allow the construction of splitting fields of univariate polynomials over them. Specifically, the base field must be the rationals, a number field, a finite field, or an algebraically closed field.
The common eigenspaces of the sequence Q of pairwise-commuting matrices. If the first sequence returned is V and the second is E, then E[i][j] is the eigenvalue of Q[i] corresponding to the common eigenspace V[j].
The common eigenspaces of the commutative matrix algebra A. If the first sequence returned is V and the second is E, then E[i][j] is the eigenvalue of A.i corresponding to the common eigenspace V[j].
The diagonalisation of the sequence Q of pairwise-commuting matrices. That is, a sequence of diagonal matrices of the form [P * Q[1] * P - 1, P * Q[2] * P - 1, ... ]. The second value returned is the matrix P. Note that the returned values may have a larger base field than the input.
The diagonalisation of the commutative matrix algebra A. That is, an algebra with diagonal generators [P * A.1 * P - 1, P * A.2 * P - 1, ... ]. The second value returned is the matrix P.
> M := MatrixAlgebra(Rationals(),2); > x := M![0,1,-2,0]; > y := M![0,3,-6,0]; > CommonEigenspaces([x,y]); [* Vector space of degree 2, dimension 1 over Number Field with defining polynomial $.1^2 + 2 over the Rational Field Generators: ( 1 1/2*r.1) Echelonized basis: ( 1 1/2*r.1), Vector space of degree 2, dimension 1 over Number Field with defining polynomial $.1^2 + 2 over the Rational Field Generators: ( 1 -1/2*r.1) Echelonized basis: ( 1 -1/2*r.1) *] [ [ -r.1, -3*r.1 ], [ r.1, 3*r.1 ] ] > Diagonalisation(sub<M|x,y>); Matrix Algebra of degree 2 with 2 generators over Number Field with defining polynomial $.1^2 + 2 over the Rational Field [ 1 1/2*r.1] [ 1 -1/2*r.1]