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, the four M's.
We list some
Mathematica,
Matlab or
Maple and
Maxima
commands which should speak for themselves.
|
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);
|
|
|