|
The functions in this section test various properties of matrices.
See also the Lattices chapter for a description
of the function IsPositiveDefinite and related functions.
Given an m x n matrix A over the ring R, return true iff A
is the m x n zero matrix.
Given a square m x m matrix A over the ring R, return true iff A
is the m x m identity matrix.
Given a square m x m matrix A over the ring R, return true iff A
is the negation of the m x m identity matrix.
Given a square m x m matrix A over the ring R, return
true iff A is scalar, i.e., iff A is the product of some element of
R and the m x m identity matrix.
Given a square matrix A over the ring R, return true iff A
is diagonal, i.e., iff the only non-zero entries of A are on
the diagonal.
Given a square matrix A over the ring R, return true iff A
is symmetric, i.e., iff A equals its transpose.
Given a matrix A over the ring R, return true iff A
is upper triangular, i.e., iff the only non-zero entries of A are on
or above the diagonal.
Given a matrix A over the ring R, return true iff A
is lower triangular, i.e., iff the only non-zero entries of A are on
or below the diagonal.
Given a square matrix A over the ring R, return true iff A
is a unit, i.e., iff A has an inverse. The coefficient ring R
may be any commutative ring (since the computation depends on
testing if the determinant is a unit -- a calculation which is
supported in all commutative rings).
Given a square m x m matrix A over the ring R, return true
iff A is singular, i.e., iff the determinant of
A is zero (or, equivalently, iff the rank of A is less than m).
Note that (not IsSingular(A)) is not equivalent to
IsUnit(A) whenever R is not a field: if the determinant of A is
non-zero but not a unit, then A is non-singular but not invertible.
The coefficient ring R may be any commutative ring (since the computation
involves only computing the determinant and testing whether it is zero).
Given an m x m matrix A over the integers, return true
if and only if A is an integer symplectic matrix, that is, AJ()tA = J,
where J = (0 1; -1 0).
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|