lec7.mws

> with(DEtools):with(plots):with(LinearAlgebra):

Warning, the name changecoords has been redefined

Linear1

> de1:=diff(x1(t),t)=x1(t)+x2(t);

de1 := diff(x1(t), t) = x1(t)+x2(t)

> de2:=diff(x2(t),t)=4*x1(t)+x2(t);

de2 := diff(x2(t), t) = 4*x1(t)+x2(t)

> dfieldplot([de1,de2],[x1(t),x2(t)],t=0..1,x1=-3..3,x2=-3..3,arrows=MEDIUM);

[Plot]

> DEplot([de1,de2],[x1(t),x2(t)],t=0..3,[[x1(0)=0.1,x2(0)=0.1],[x1(0)=-2,x2(0)=3],[x1(0)=-1.5,x2(0)=3],[x1(0)=1.3,x2(0)=-2.8]],x1=-3..3,x2=-3..3,arrows=MEDIUM,linecolor=blue);

[Plot]

> A:=Matrix([[1,1],[4,1]]);

A := Matrix([[1, 1], [4, 1]])

> Eigenvectors(A);

Vector[column]([[-1], [3]]), Matrix([[(-1)/2, 1/2], [1, 1]])

Linear2

> de1:=diff(x1(t),t)=3*x1(t)-1*x2(t);

de1 := diff(x1(t), t) = 3*x1(t)-x2(t)

> de2:=diff(x2(t),t)=-2*x1(t)+4*x2(t);

de2 := diff(x2(t), t) = -2*x1(t)+4*x2(t)

> dfieldplot([de1,de2],[x1(t),x2(t)],t=0..1,x1=-5..5,x2=-5..5,arrows=MEDIUM);

[Plot]

> A:=Matrix([[3,-1],[-2,4]]);

A := Matrix([[3, -1], [-2, 4]])

> Eigenvectors(A);

Vector[column]([[2], [5]]), Matrix([[1, (-1)/2], [1, 1]])

> MatrixExponential(A);

Matrix([[2/3*exp(2)+1/3*exp(5), -1/3*exp(5)+1/3*exp(2)], [-2/3*exp(5)+2/3*exp(2), 1/3*exp(2)+2/3*exp(5)]])

Linear3

> de1:=diff(x1(t),t)=-2*x1(t)+0*x2(t);

de1 := diff(x1(t), t) = -2*x1(t)

> de2:=diff(x2(t),t)=1*x1(t)-3*x2(t);

de2 := diff(x2(t), t) = x1(t)-3*x2(t)

> dfieldplot([de1,de2],[x1(t),x2(t)],t=0..1,x1=-3..3,x2=-3..3,arrows=MEDIUM);

[Plot]

> A:=Matrix([[-2,0],[1,-3]]);

A := Matrix([[-2, 0], [1, -3]])

> Eigenvectors(A);

Vector[column]([[-2], [-3]]), Matrix([[1, 0], [1, 1]])

Linear4

> de1:=diff(x1(t),t)=1*x1(t)+5*x2(t);

de1 := diff(x1(t), t) = x1(t)+5*x2(t)

> de2:=diff(x2(t),t)=-1*x1(t)-1*x2(t);

de2 := diff(x2(t), t) = -x1(t)-x2(t)

> dfieldplot([de1,de2],[x1(t),x2(t)],t=0..1,x1=-3..3,x2=-3..3,arrows=MEDIUM);

[Plot]

> A:=Matrix([[1,5],[-1,-1]]);

A := Matrix([[1, 5], [-1, -1]])

> Eigenvectors(A);

Vector[column]([[2*I], [-2*I]]), Matrix([[-1-2*I, -1+2*I], [1, 1]])

> MatrixExponential(A*t);

Matrix([[cos(2*t)+1/2*sin(2*t), 5/2*sin(2*t)], [-1/2*sin(2*t), cos(2*t)-1/2*sin(2*t)]])

>

Volterra-Lotka

> de1:=diff(F(t),t)=F(t)-1/2*F(t)*R(t);

de1 := diff(F(t), t) = F(t)-1/2*F(t)*R(t)

> de2:=diff(R(t),t)=-3/4*R(t)+1/4*F(t)*R(t);

de2 := diff(R(t), t) = -3/4*R(t)+1/4*F(t)*R(t)

> dfieldplot([de1,de2],[F(t),R(t)],t=0..1,F=0..7,R=0..5,arrows=MEDIUM);

[Plot]

Eigenvectors and Diagonalization

> A:=Matrix([ [ 21, 0, -80 ], [ -8, 1, 32 ], [ 4, 0, -15 ] ]);

A := Matrix([[21, 0, -80], [-8, 1, 32], [4, 0, -15]])

> E:=Eigenvectors(A);

E := Vector[column]([[1], [1], [5]]), Matrix([[0, 4, 5], [1, 0, -2], [0, 1, 1]])

> B:=Matrix([[5],[-2],[1]]);

B := Matrix([[5], [-2], [1]])

> A.B;

Matrix([[25], [-10], [5]])

> M:=E[2];

M := Matrix([[0, 4, 5], [1, 0, -2], [0, 1, 1]])

> E[1];

Vector[column]([[1], [1], [5]])

> MatrixInverse(M).A.M;

Matrix([[1, 0, 0], [0, 1, 0], [0, 0, 5]])

> Di:=Matrix([[1,0,0],[0,1,0],[0,0,5]]);

Di := Matrix([[1, 0, 0], [0, 1, 0], [0, 0, 5]])

> M.Di.MatrixInverse(M);

Matrix([[21, 0, -80], [-8, 1, 32], [4, 0, -15]])

> C:=Matrix([[exp(t),0,0],[0,exp(t),0],[0,0,exp(5*t)]]);

C := Matrix([[exp(t), 0, 0], [0, exp(t), 0], [0, 0, exp(5*t)]])

> M.C.MatrixInverse(M);

Matrix([[5*exp(5*t)-4*exp(t), 0, -20*exp(5*t)+20*exp(t)], [-2*exp(5*t)+2*exp(t), exp(t), 8*exp(5*t)-8*exp(t)], [exp(5*t)-exp(t), 0, -4*exp(5*t)+5*exp(t)]])

> MatrixExponential(A*t);

Matrix([[5*exp(5*t)-4*exp(t), 0, -20*exp(5*t)+20*exp(t)], [-2*exp(5*t)+2*exp(t), exp(t), 8*exp(5*t)-8*exp(t)], [exp(5*t)-exp(t), 0, -4*exp(5*t)+5*exp(t)]])

JordanForm

> A:=Matrix([ [ 3, -2, -1 ], [ 0, 5, 1 ], [ 3, -6, -1 ] ]);

A := Matrix([[3, -2, -1], [0, 5, 1], [3, -6, -1]])

> Eigenvectors(A);

Vector[column]([[2], [2], [3]]), Matrix([[1/3, 0, 1/3], [(-1)/3, 0, (-1)/2], [1, 0, 1]])

> JordanForm(A);

Matrix([[3, 0, 0], [0, 2, 1], [0, 0, 2]])

> B:=JordanForm(A,output='Q');

B := Matrix([[-2, 3, 3], [3, -3, -3], [-6, 9, 6]])

> J:=MatrixInverse(B).A.B;

J := Matrix([[3, 0, 0], [0, 2, 1], [0, 0, 2]])

> Je:=MatrixExponential(J*t);

Je := Matrix([[exp(3*t), 0, 0], [0, exp(2*t), t*exp(2*t)], [0, 0, exp(2*t)]])

> B.Je.MatrixInverse(B);

Matrix([[-2*exp(3*t)+3*t*exp(2*t)+3*exp(2*t), -2*exp(3*t)+2*exp(2*t), -t*exp(2*t)], [3*exp(3*t)-3*t*exp(2*t)-3*exp(2*t), 3*exp(3*t)-2*exp(2*t), t*exp(2*t)], [-6*exp(3*t)+9*t*exp(2*t)+6*exp(2*t), -6*ex...

> MatrixExponential(A*t);

Matrix([[-2*exp(3*t)+3*t*exp(2*t)+3*exp(2*t), -2*exp(3*t)+2*exp(2*t), -t*exp(2*t)], [3*exp(3*t)-3*t*exp(2*t)-3*exp(2*t), 3*exp(3*t)-2*exp(2*t), t*exp(2*t)], [-6*exp(3*t)+9*t*exp(2*t)+6*exp(2*t), -6*ex...

>