The following are several public domain programs executable under DOS to perform basic linear algebra computations. Feel free to download and use them. I run them by merely double clicking on the file name for the program under Windows Explorer. Unless stated otherwise, each program was written in the Pascal programming language by David Hecker.
Row Reduction
The program rowred.exe finds the reduced row
echelon form of a matrix. The program assumes that the matrix entered has
all integer entries. The output is in rational form; that is, the entries
are expressed as fractions. The output is primitive in the sense that the
fractional representation is still used when the resulting entry is an
integer. Beware that this program is very simple - not sophisticated
at all. In particular, it occasionally produces incorrect answers
due to an internal integer overflow error while doing intermediate computations
with fractions. If you get unexpected, strange answers, do not trust
them! (A negative denominator in the answer is a certain giveaway
of a problem.) We hope to rewrite this program in Java in the future
to eliminate this overflow problem.
The program rowstep.exe is similar to rowred.exe described above, except that it stops at several key steps along the way to reduced row echelon form, namely, after each time a pivot position is changed, each time a pivot is changed to a 1, after each row swap, and after performing all of the type (II) operations to get all of the zeros in a pivot column. The output is similar to that of rowred.exe. The same warning given about rowred.exe regarding overflow errors applies to rowstep.exe.
Determinant
The program dterm.exe computes the determinant
of a square matrix. The answer is printed out with two digits after the
decimal place displayed. It works recursively using cofactor expansion.
Matrix Multiplication
The program matrix.exe performs matrix multiplication.
It was written as an exercise in writing a program that is robust assuming
a user entering garbage, and so is a much larger program than is necessary.
The directions are self explanatory.
Gram-Schmidt Process
The program orthbas.exe performs the Gram-Schmidt
Process on a set of vectors in Rn to create an orthogonal basis
for the span of the vectors entered. The program assumes that the vectors
have all integer entries. Enter the entries for each vector separated by
blank spaces. This program was written (I believe) in C++ by Matthew Formica,
a student in my Linear Algebra class in Spring 1997.
Characteristic Polynomial
The program charpoly.exe computes the characteristic
polynomial of a matrix having all integer entries. The input and output
are self explanatory. This program was written in FORTRAN by David Gaudiosi,
a student in my Linear Algebra class in Spring 1999.