Uppgift 5.2: 4 

restart; -1; with(LinearAlgebra) 

[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
(1.1)
 

LinearAlgebra paketet är en nyare version av gamla ''linalg'' och fungerar pÃ¥ mÃ¥nga sätt bättre. Läs mera i aktuellt hjälpavsnitt. 

`:=`(P, Matrix(%id = 3881980)) 

(1.2)
 

`:=`(lambda, T, Eigenvectors(P)) 

Vector[column](%id = 6559980), Matrix(%id = 6560044) (1.3)
 

Egenvektorerna är kolumner i matrisen T och för att underlätta indexeringen transponerar vi sÃ¥ att egenvektorerna är radvektorer i v i stället. Alternativt kan man skriva T[1 .. 2, j] i sället för v[j]. 

`:=`(v, Transpose(T)) 

(1.4)
 

Lösningen x till systemet diff(x, x) = Px ges av uttrycket 

`:=`(x, `+`(`*`(c[1], `*`(exp(`*`(t, `*`(lambda[1]))), `*`(v[1]))), `*`(c[2], `*`(exp(`*`(t, `*`(lambda[2]))), `*`(v[2]))))) 

Vector[row](%id = 7037280) (1.5)
 

Det är praktiskt att skriva lösningen som en kolumnvektor sÃ¥ att matrisprodukten Px kan skrivas med .(dot)-symbolen. 

`:=`(x, Transpose(x)) 

(1.6)
 

MÃ¥nga funktioner, t.ex. d/dt, accepterar inte vektorer och matriser som argument. Man kan dÃ¥ använda funktionen map för att nÃ¥ in i datastrukturen. 

diff(x, t) 

Error, non-algebraic expressions cannot be differentiated
 

`:=`(Lhs, map(diff, x, t)) 

(1.7)
 

Matrismultipliktion skrivs med .(dot)-operatorn. För att inte förväxlas med en decimalpunkt skall den föregÃ¥s av ett mellanslag; Typesetting:-delayDotProduct(A, B) sÃ¥ledes. Observera att matrisformaten mÃ¥ste vara korrekta sÃ¥ att produkten är definierad. 

`:=`(Rhs, Typesetting:-delayDotProduct(P, x)) 

Vector[column](%id = 3742332) (1.8)
 

Lösningen kan kontrolleras sÃ¥ här 

`+`(Lhs, `-`(Rhs)) 

(1.9)
 

DEplot kan tyvärr inte hantera system pÃ¥ matrisform. Här fÃ¥r man göra som tidigare. Det är ändÃ¥ mest intressant för system med tvÃ¥ ekvationer. 

restart; -1; with(DEtools); -1 

`:=`(var, [x(t), y(t)]) 

[x(t), y(t)] (1.10)
 

`:=`(ode, [`+`((D(x))(t), `-`(`*`(4, `*`(x(t)))), `-`(y(t))), `+`((D(y))(t), `-`(`*`(6, `*`(x(t)))), y(t))]) 

[`+`((D(x))(t), `-`(`*`(4, `*`(x(t)))), `-`(y(t))), `+`((D(y))(t), `-`(`*`(6, `*`(x(t)))), y(t))] (1.11)
 

DEplot(ode, var, t = 0 .. 1, x = -1 .. 1, y = -1 .. 1, arrows = MEDIUM) 

Plot_2d