Harvard University,FAS
Fall 2004

Mathematics Math21b
Fall 2004

Linear Algebra
and Differential Equations

Course Head: Oliver knill
Office: SciCtr 434
Email: knill@math.harvard.edu
New Syllabus Calendar Homework Exams Exhibits Handouts Cas Faq Links

Linear algebra with CAS

We do not assign problems which need computer algebra software (CAS) in this course. Nevertheless, it is useful to know what can be done with such programs like "the four M's". With CAS it is like with driving cars, if you know one of them, you know to use them all... We recommend you do all the homework without CAS, but it is certainly allowed (even recommended) to use one of these tools to check your work. Below are some Mathematica, Matlab or Maple and Maxima commands for linear algebra. The code speaks for itself.


Mathematica

Harvard has a Mathematica site license. You can get it here and request a password, using the Harvard Site License Number L2482-2405.

A={{1,2,3},{4,5,5},{6,7,8}}
v={5,-2,3}
Inverse[A]
A.v
A.A.A
LinearSolve[A,v]
RowReduce[A]
QRDecomposition[{{1,0,0},{1,1,0},{1,1,1}}]
Fit[{{0,0},{0,1},{1,3}},{1,x,x^2},x]
CharacteristicPolynomial[A,x]
Tr[A]
Det[A]
Eigenvalues[A]
Eigensystem[A]

Matlab

Matlab is a CAS which is strong in linear algebra. Matlab is available as a student version. Here are some of the above commands in Matlab.

A = [1 2 3; 4 5 5; 6 7 8]
v = [5;-2;3]
inv(A)
A*v
A*A*A
A\v
rref(A)
qr(A)
poly(A)
det(A)
trace(A)
eig(A)
[v,d]=eig(A)

Maple

Maple is a CAS comparable with Mathematica or Matlab. Here are the same commands in the Maple dialect.

with(linalg);
A:=[[1,2,3],[4,5,5],[6,7,8]];
v:=[5,-2,3];
inverse(A);
multiply(A,v); 
evalm(A*A*A);
linsolve(A,v);
rref(A);
v1:=[1,0,0]; v2:=[1,1,0]; v3:=[1,1,1];
GramSchmidt({v1,v2,v3});
charpoly(A,x);
trace(A); 
det(A); 
eigenvalues(A);
eigenvectors(A); 

Maxima

Maxima is an open source CAS originally developed by the DOE. While having less features than the commercial CAS, it is GPL'd and free software: you can see the code.
(echelon(A) is here an upper triangular matrix);
A: matrix([1,2,3],[4,5,5],[6,7,8]);
v: [5,-2,3];
invert(A);
A.v;
A.A.A;
linsolve([x+z=5,x+5*y=-2,x-z=0],[x,y,z]);
echelon(A);
load(eigen); gramschmidt(A); 
determinant(A); 
charpoly(A,x);
eigenvalues(A);
eigenvectors(A);


Please send comments to knill@math.harvard.edu


Sun Jan 23 23:10:54 EST 2005