The functions described here assume that the matrix algebra R is defined over a ring S with a matrix echelonization algorithm. Magma computes a basis for R considered as a S-module when necessary so then operations like membership testing can be performed. The following functions allow one to access this basis.
Assuming that R is a subalgebra of Mn(S), return the dimension of R, considered as a S-module.
Assuming that R is a subalgebra of Mn(S), return the S-basis of R, considered as a S-module. The basis is returned as a sequence of matrices of R.
Given R a subalgebra of Mn(S), return the i-th element of the S-basis of R, where i must be between 1 and the dimension of R.
Assuming that R is a subalgebra of Mn(S), and given an element X of R, return the coordinates of X with respect to the basis of R. If R has dimension k over its coefficient ring S, and R has basis U1, ..., Uk, the coordinates are returned as the unique sequence [a1, ..., ak] of elements of S such that X = a1 U1 + ... + ar Ur.
Given algebras R and S that are subalgebras of the same complete algebra Mn(S), where S is a PIR, this operator constructs their intersection.
The operations described here assume that the matrix algebra is defined over a principal ideal ring.
Given a matrix x (set of matrices X, matrix algebra T) and a matrix algebra R all belonging to a common matrix algebra defined over a PIR, return true if x (X, T, respectively) is contained in R, false otherwise.
Given a matrix x (set of matrices X, matrix algebra T) and a matrix algebra R all belonging to a common matrix algebra defined over a PIR, return true if x (X, T, respectively) is not contained in R, false otherwise.
Given a matrix algebra R, and a matrix algebra T, return true if R is equal to T, false otherwise.
Given a matrix algebra R and a matrix algebra T, return true if R is not equal to T, false otherwise.