Manipulation of Matrices Symbolically

Traditionally, matrix algebra in computer algebra systems is “implemented” in three ways: • numeric explicit computation in a special arithmetic domain: exact rational or integer, highprecision software floating-point, interval, or conventional hardware floating-point. • ‘symbolic’ explicit computation with polynomial or other expression entries, • (implicit) matrix computation with symbols defined over a (non-commuting) ring. Manipulations which involve matrices of indefinite size (n ×m) or perhaps have components which are block submatrices of indefinite size have little or no support in general-purpose computer algebra systems, in spite of their importance in theorems, proofs, and generation of programs. We describe some efforts to design and implement tools for this mode of thinking about matrices in computer systems.