V3/s02 Harj3av ratkaisuja

H/ratk/harj3av.mws    HA syyskuu 02

Alustukset

>    restart:with(linalg):
with(LinearAlgebra):
alias(rref=ReducedRowEchelonForm):
alias(ref=GaussianElimination):  # "row echelon form"

Warning, the name changecoords has been redefined

Warning, the protected names norm and trace have been redefined and unprotected

Warning, the assigned name GramSchmidt now has a global binding

>   

1.

Olkoon

>    x:=c[1]*f[1]+c[2]*f[1]+c[3]*f[3];

x := c[1]*f[1]+c[2]*f[1]+c[3]*f[3]

Sijoitetaan tähän F-kantavektorien lausekkeet D-vektorin avulla ja kerätään D-vektorien kertoimet yhteen.

(Mitään muuta "teoriaa" koko hommassa ei olekaan.)

 =>

>    S:=<<2,-1,1>|<0,3,1>|<-3,0,2>>;

S := Matrix(%id = 136173164)

Tarkista vielä, että matriisin sarakkeet ovat vektorit

>    seq([f[j]][D],j=1..3);

[f[1]][D], [f[2]][D], [f[3]][D]

b)

>    S.<1,-2,2>;

Vector(%id = 137772944)

c)  (Tällainen olisi kannattanut laittaa, mutta tällä kertaa tuli turhan vähän a)-b)-c)-kohtia :-) )

     Annettu vektori F-kannassa (uudessa kannassa), esitä se vanhassa D-kannassa.

>    vD:=<1,2,3>;

vD := Vector(%id = 137426904)

>    vF:=LinearSolve(S,vD);

vF := Vector(%id = 136495156)

>    S.vF;  # Tarkistus

Vector(%id = 136876704)

Tässä on oikeastaan kaikki mahdolliset tehtävätyypit, joita kannanvaihdossa voi esiintyä.

"Teoriasta" on syytä muistaa:

2.

3.

>    restart:with(linalg):
with(LinearAlgebra):

Warning, the name changecoords has been redefined

Warning, the protected names norm and trace have been redefined and unprotected

Warning, the assigned name GramSchmidt now has a global binding

>    S:=<<1,0,1>|<-1,1,2>|<0,-1,1>>;

S := Matrix(%id = 134911068)

>    T:=MatrixInverse(S);

T := Matrix(%id = 135380404)

>    T.<3,-1,2>;

Vector(%id = 138107932)

>    q1:=x^2+1: q2:=2*x^2+x-1: q3:=x^2-x:

>    5/2*q1-1/2*q2+1/2*q3;

2*x^2+3-x

>   

>