M A T H 2 1 B
Mathematics Math21b Spring 2009
Linear Algebra and Differential Equations
CAS
Office: SciCtr 434

 The Mathematica lab is available. You can download it here [lab.nb]. You can preview a PDF version of the lab here. This lab has some new stuff like an "autotune" filter, image and movie manipulation, picture morphing, Markov music and poem generation. We have a 1 hour Mathematica workshop on Thursday, April 23, from 7-8 PM in Hall D, for those of you who have not yet seen Mathematica or need a refresher and a short walk-through the assignment.

It is useful to know what can be done with computer algebra systems "the four M's". Mathematica, Matlab or Maple and Maxima. The following example snippets should become selfexplanatory during the course.

## 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 Av 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);