Matrix Predicates 

Mathematica 10 adds a number of matrix predicates, for testing matrix properties. Matrix predicates are typically used for algorithms that need to verify a property of input matrices before running the algorithm.

Symmetry-related matrix predicates.

Quadratic-form-related matrix predicates.

PositiveDefiniteMatrixQ[m] for all nonzero
PositiveSemidefiniteMatrixQ[m] for all nonzero
NegativeDefiniteMatrixQ[m] for all nonzero
NegativeSemidefiniteMatrixQ[m] for all nonzero
IndefiniteMatrixQ[m]otherwise

Inner-product-related matrix predicates.

OrthogonalMatrixQ[m] is identity matrix,
UnitaryMatrixQ[m] is identity matrix,

Eigenvalue-related matrix predicates.

DiagonalizableMatrixQ[m] for diagonal d
NormalMatrixQ[m] for diagonal or