Uppgift 5.2: 26 

restart; -1; with(LinearAlgebra); -1 

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

(3.1)
 

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

(3.2)
 

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

(3.3)
 

Här är det lämpligt att använda summafunktionen ''add(() .. ())'' i stället för ''sum(() .. ())'' och sum(f[j], j = 1 .. n) som används för symbolisk summation. Summan beräknas dessutom direkt sÃ¥ ''evalm(() .. ())'' behövs inte. 

`:=`(x, Transpose(add(`*`(c[j], `*`(exp(`*`(t, `*`(lambda[j]))), `*`(v[j]))), j = 1 .. 3))) 

(3.4)
 

Bestämning av konstanerna med hjälp av begynnelsevärden kan göras pÃ¥ följande sätt när variablerna är mÃ¥nga. 

`:=`(ic, Vector[column](%id = 6324844)) 

(3.5)
 

`:=`(eq, {seq(eval(x[j], t = 0) = ic[j], j = 1 .. 3)}) 

{`+`(c[2], c[3]) = 17, `+`(c[1], `*`(`+`(`-`(`/`(9, 17)), `*`(`/`(2, 17), `*`(I))), `*`(c[2])), `*`(`+`(`-`(`/`(9, 17)), `-`(`*`(`/`(2, 17), `*`(I)))), `*`(c[3]))) = 0, `+`(`*`(`/`(4, 9), `*`(c[1])), ...
{`+`(c[2], c[3]) = 17, `+`(c[1], `*`(`+`(`-`(`/`(9, 17)), `*`(`/`(2, 17), `*`(I))), `*`(c[2])), `*`(`+`(`-`(`/`(9, 17)), `-`(`*`(`/`(2, 17), `*`(I)))), `*`(c[3]))) = 0, `+`(`*`(`/`(4, 9), `*`(c[1])), ...
(3.6)
 

`:=`(const, solve(eq)) 

{c[1] = 9, c[2] = `/`(17, 2), c[3] = `/`(17, 2)} (3.7)
 

Här fÃ¥r man använda map 

`:=`(y, map(eval, x, const)) 

(3.8)
 

plot(y, t = -2 .. 1, thickness = 2) 

Plot_2d