(%i1) |
kill(all)$ load(eigen)$ |
appendix:repeated eigenvalues
[email protected],26/03/2017
see:
Lecture 26: Continuation: Repeated Real Eigenvalues
(%i2) | depends(x,t); |
(%i5) |
p[1]:'diff(x[1],t)=-2*x[1]+x[2]+x[3]; p[2]:'diff(x[2],t)=x[1]-2*x[2]+x[3]; p[3]:'diff(x[3],t)=x[1]+x[2]-2*x[3]; |
(%i7) |
M1:zeromatrix(3,3)$ for i:1 thru 3 do for j:1 thru 3 do M1[i,j]:coeff(part(p[i],2),x[j]); |
coef.Marix : 'p[i] , i=1..3'
(%i8) | M1; |
eigenvalues ,M2 '|A-lambda*I|=0'
I=matrix(M3)
(%i12) |
M2:zeromatrix(3,3)$ M3:zeromatrix(3,3)$ for i:1 thru 3 do M3[i,i]:1; for i:1 thru 3 do for j:1 thru 3 do M2[i,j]:M1[i,j]-lambda*M3[i,j]; |
(%i13) | M2; |
find :eigenvalues 'lambda'
(%i14) | p1:-1*ratsimp(determinant(M2))=0; |
find only :two eigenvalues,normal three values
(%i15) | p2:factor(p1); |
(%i16) | p3:solve(p2,lambda); |
find : three eigenvalues
(%i20) |
p31:allroots(p2)$ p32:p31[1]; p33:p31[2]; p34:p31[3]; |
(%i23) |
p320:part(p32,2); p330:part(p33,2); p340:part(p34,2); |
? find multiplicities = 2 for lambda = -3
build in 'Maxima'
statement 'eigenvectors','uniteigenvectors'
(%i24) | p4:eigenvectors(M1); |
build in 'Maxima'
construction : 1e)[vals,vecs]:eigenvectors(matrix)
2e)[uvals,uvecs]:uniteigenvectors(matrix)
1e)[vals,vecs]:eigenvectors(matrix)
(%i27) |
p5:[vals,vecs]:eigenvectors(M1); p6:vals[1]; p7:vecs[1]; |
2e)[uvals,uvecs]:uniteigenvectors(matrix)
(%i30) |
p8:[uvals,uvecs]:uniteigenvectors(M1); p9:uvals[1]; p10:uvecs[1]; |
rem: p32 = lambda = 0 → 'eigenvector' = [1,1,1]
eigenvector = constant eigenvector.
solution : eigenvectors
(%i33) |
p71:p7[1]; p72:p7[2]; p73:[1,1,1]; |
solution 'system diff.equations':p[i],i=1,2,3
(%i36) |
x[1]=c1*p73[1]*e^(p320*t)+c2*p71[1]*e^(p330*t)+c3*p72[1]*e^(p330*t); x[2]=c1*p73[2]*e^(p320*t)+c2*p71[2]*e^(p330*t)+c3*p72[2]*e^(p330*t); x[3]=c1*p73[3]*e^(p320*t)+c2*p71[3]*e^(p330*t)+c3*p72[3]*e^(p330*t); |