basic linear algebra computations



I wrote code for basic linear algebra computations --- nullspace, 
column space, and  orthogonal complements.   You can get it 
from 

      http://www.unk.edu/acad/math/people/willisb/home.html

In the file linearalgebra.zip, you'll find demo, usage, and test files.

Additionally, there is code  for finding  the spectrum that 
only uses row reduction.  For a description, see
 
      http://www.unk.edu/acad/math/people/willisb/eigens-by-row.pdf

An example

(%i1) load("l:/linearalgebra/linalg.mac")$
Warning - you are redefining the Macsyma function rank

(%i2) m : matrix([1,2,3],[4,5,6],[7,8,9]) - z * ident(3);
(%O2) matrix([1-Z,2,3],[4,5-Z,6],[7,8,9-Z])
(%i3) algebraic : true$
(%i4) ptriangularize(m,z);
(%O4) 
matrix([4,5-Z,6],[0,66/49,-Z^2/7+(102*Z)/49+132/49],[0,0,(49*Z^3)/264-(245*Z^2)/88-(147*Z)/44])

Tell maxima that the 3,3 entry is zero. Thus z is any eigenvalue.

(%i5) tellrat(%[3,3]);
(%O5) [Z^3-15*Z^2-18*Z]
(%i6) ratsimp(%o4);

The eigenspace corresponding the eigenvalue z is

(%O6) matrix([4,5-Z,6],[0,66/49,-(7*Z^2-102*Z-132)/49],[0,0,0])
(%i7) nullspace(%);
(%O7) SPAN(matrix([1],[(Z^2-14*Z-16)/8],[-(Z^2-18*Z-12)/12]))

where z is any eigenvalue.

Barton