Lineaarialgebra b, kevät 2019 Harjoitusta 5 Maplella with(linearalgebra): Määritellään sääntö L L := u - 3*u[2] + 2*(u[1]-4*u[2])*x - (u[1]+2*u[3])*x^2; u := Vector([u1,u2,u3]); v := Vector([v1,v2,v3]); (1) (2) L(u); # toimiiko? (3) Tehtävä 1. Lineaarinen bijektio? Kyllä! Edellä oleva sääntö todella määrittelee funktion R^3 --, jotka ovat R-kertoimisia lineaariavaruuksia. Lineaarisuusehdon (iii) mukaan: Määritellään muuttuja x reaaliseksi, samoin skalaarit a ja b assume(x, real); assume(a, real); assume(b, real); Onko nyt L(au + bv) = al(u) + bl(v)??? vasen := L(a*u + b*v); (1.1) oikea := a*l(u) + b*l(v); # tämä sentään vähän parempi: (1.2) Kootaan muuttujan x potenssien mukaan: simplify(vasen); (1.3) simplify(oikea); (1.4) Lineaarisuusehdon (iii) puoliskot vasen ja oikea ovat siis samat, joten on lineaarinen. Lasketaan ydin ker L, eli vektorit, jotka kuvautuvat nollapolynomille: L(u) = 0; missä kertoimien on oltava nollia (ratkeaa helposti käsinkin): solve({3*u[2] = 0, 2*(u1-4*u2) = 0, -(u1 + 2*u3) = 0}); Lauseen 15.2.4 mukaan L on injektio, koska vain nollavektori kuvautuu nollapolynomille. (1.5) (1.6)
Koska lähtö- ja maaliavaruudet ovat samaa dimensiota (3), L on myös bijektio (Lause 15.4.2). Tehtävä 2. L:n matriisi ja vektorin kuva Avaruuden R^3 luonnollisen kannan E kuvat: L(Vector([1,0,0])); L(Vector([0,1,0])); L(Vector([0,0,1]));? Näistä nähdään helposti esitykset maalipuolen järjestetyssä luonnollisessa kannassa F = : = 0*1 + 2*x + (-1)*x^2 = 3*1 + (-8)*x + 0*x^2 = 0*1 + 0*x + (-2)*x^2 Poimitaan "riveiltä" kertoimet matriisin sarakkeiksi: A[L] := Matrix([[0,3,0],[2,-8,0],[-1,0,-2]]); (2.1) (2.2) (2.3) (2.4) Vektorin u = (6 2 3)^T koordinaatit luonnollisessa kannassa E ovat = (6 2 3)^T, joten kuvan L (u) koordinaatit kannassa F saadaan kertomalla vasemmalta matriisilla kuvankoordinaatit := Multiply(A[L],Vector([6,2,3])); (2.5) ja nyt nämä kertoimiksi F:n lineaarikombinaatioon Multiply(Transpose(kuvankoordinaatit), Vector([1,x,x^2])); (2.6) Tehtävä 3. Kantoja? Siirtomatriisi ym. a) Määritellään annetut vektorit Mapleen: u1 := Vector([2,3,2]); u2 := Vector([1,2,2]); u3 := Vector( [2,3,4]);
(3.1) v1 := Vector([4,6,5]); v2 := Vector([0,3,1]); v3 := Vector( [4,1,2]); (3.2) Kirjoitetaan vektorijoukot listoiksi, jotta järjestys säilyy ja voidaan muodostaa matriisit: U := [u1,u2,u3]; (3.3) V := [v1,v2,v3]; (3.4) Muodostetaan niistä matriisit ja lasketaan determinantit: AU := Matrix(U); Determinant(AU); 2 AV := Matrix(V); Determinant(AV); (3.5) (3.6) Vektorijoukot ovat kantoja, koska niistä muodostetut matriisit ovat säännöllisiä (det ei nolla). Muodostetaan siirtomatriisi tuntemattomasta matriisista S := Matrix(3, 3, symbol = s);
(3.7) Muodostetaan vektoriyhtälöt, joiden mukaisesti lähtökannan U vektorit esitetään maalipuolen V kannassa Muunnetaan nämä (Maplen mieliksi, helpottaen myös manipulointia vektoriyhtälöstä yhtälöryhmäksi) erotuksiksi, joiden pitää olla nollia: erotus[1] := u1 - (s[1,1]*v1 + s[2,1]*v2 + s[3,1]*v3); erotus[2] := u2 - (s[1,2]*v1 + s[2,2]*v2 + s[3,2]*v3); erotus[3] := u3 - (s[1,3]*v1 + s[2,3]*v2 + s[3,3]*v3); (3.8) Temppuillaan näistä yhtälöryhmät (kukin alkio = 0): YR1 := {seq(erotus[1][k] = 0, k=1..3)}; YR2 := {seq(erotus[2][k] = 0, k=1..3)}; YR3 := {seq(erotus[3][k] = 0, k=1..3)}; (3.9)?subs Ratkaistaan näistä kukin: Sarake1 := solve(yr1); Sarake2 := solve(yr2); Sarake3 := solve(yr3);
(3.10) alkiot := Sarake1 union Sarake2 union Sarake3; # kootaan ratkaisutiedot joukoksi (3.11) S := subs(alkiot,s); # sijoitetaan matriisiin S: (3.12) Toinen tapa olisi ratkaista kaikki kolme yhtälöryhmää kerralla asettamalla kaikki U:n sarakkeet yhtälöryhmän oikealle puolelle (vrt. luentomonisteen Lause?, etsi!). LaajMatr := Matrix([v1,v2,v3,u1,u2,u3]); (3.13) ReducedRowEchelonForm(LaajMatr); (3.14) Näin saadaan vasemmaksi osaksi I ja oikealle S! b) Vektorin x koordinaatit kannassa U ovat nähtävissä suoraan (!) x_u := Vector([1,2,-3]); (3.15) x_v := Multiply(S,x_U); (3.16)
(3.16) Tehtävä 4. Siirtomatriisi polynomiavaruuksissa restart; with(linearalgebra): Kannat ovat siis E := { 1, x, x^2, x^3 } ja F := { 1 + x, x, x^2-1, x^3 + x }, ja siirtoa kannasta E kantaan F kysytään, samoin toisinpäin. Pidetään kantavektorit järjestyksessä pistämällä ne listoiksi: E := [1, x, x^2, x^3]; F := [1 + x, x, x^2-1, x^3 + x]; Merkitään polynomeja Maple-funktioina, samalla voidaan pitää niiden järjestys fiksattuna: p[1] := x - 1; p[2] := x - x; p[3] := x - x^2; p[4] := x - x^3; (4.1) q[1] := x - 1+x; q[2] := x - x; q[3] := x - x^2-1; q[4] := x - x^3+x; (4.2) (4.3) Nyt lähtökannan E polynomit pitää esittää kannassa F, jotta saadaan siirtomatriisi S: S := Matrix(4,4,symbol = s); (4.4) p[i] = s[1,i]*q[1] + s[2,i]*q[2] + s[3,i]*q[3] + s[4,i]*q[4] ; # kaikilla x in R (4.5) polynomiyhtalot := [seq(subs(i = j,
s[1,i]*q[1](x) + s[2,i]*q[2](x) + s[3,i]*q[3](x) + s[4,i]*q [4](x) = p[i](x)), j = 1..4)]; # käännetään yhtälöt toisinpäin (4.6) Ryhmitellään: collect(expand(polynomiyhtalot),x); # koska Maple ei näköjään avaa polynomeja p! (4.7) Poimitaan tästä ihan "käsin" ne yhtälöryhmät, joista luvut saadaan: YR1 := {s[4,1] = 0, s[3,1] = 0, s[1,1] + s[2,1] + s[4,1] = 0, s[1,1] - s[3,1] = 1}; Sarake1 := solve(yr1); YR2 := {s[4,2] = 0, s[3,2] = 0, s[1,2] + s[2,2] + s[4,2] = 1, s[1,2] - s[3,2] = 0}; Sarake2 := solve(yr2); YR3 := {s[4,3] = 0, s[3,3] = 1, s[1,3] + s[2,3] + s[4,3] = 0, s[1,3] - s[3,3] = 0}; Sarake3 := solve(yr3); YR4 := {s[4,4] = 1, s[3,4] = 0, s[1,4] + s[2,4] + s[4,4] = 0, s[1,4] - s[3,4] = 0}; Sarake4 := solve(yr4); (4.8) (4.9) (4.10) (4.11) (4.12) (4.13) (4.14) (4.15)
Nyt liitetään saadut sarakkeet matriisiin S_EF ja tulostetaan ne näkyviin: alkiot := Sarake1 union Sarake2 union Sarake3 union Sarake4; (4.16) S_EF := subs(alkiot,s); # Tään pitäis olla kysytty S_EF: (4.17) Tarkastetaan, että todella toimii: P := x - a + b*x + c*x^2 + d*x^3; (4.18) P_E := Vector([a,b,c,d]); # polynomin koordinaatit kannassa E: (4.19) P_F := Multiply(S_EF, P_E); # koordinaatit kannassa F: (4.20) Nyt rakennetaan lopulta itse esitys F[1]*P_F[1] + F[2]*P_F[2] + F[3]*P_F[3] + F[4]*P_F[4]; (4.21) expand(%); # pitäs tulla alkuperäinen P(x): (4.22) Ja lopulta siirtomatriisi S_FE kannasta F kantaan E käänteismatriisilla: S_FE := MatrixInverse(S_EF); (4.23) Tehtävä 5. Sisätuloavaruus
restart; with(linearalgebra): on reaalikertoiminen lineaariavaruus. Merkitään kyseistä sisätuloehdokasta Maplessa säännöllä ST: ST := (p,q) - p(0)*q(0) + p(1)*q(1) + p(2)*q(2); Kyseessä on selvästi funktio x -- R. Sisätulon muut aksioomat: ST(p,p) = 0; # onko = 0? (5.2) Reaalilukujen neliöiden summana on, ja jos ja vain jos p(0) = p(1) = p (2) = 0. Mutta kyseessä oli toisen asteen polynomit, joilla voi olla 3 nollakohtaa vain, kun kaikki kertoimet ovat nollia, eli kun kyseessä on nollapolynomi, siis avaruuden nollavektori. ST(p,q) = ST(q,p); is(st(p,q) = ST(q,p)); (5.1) true assume(c,real): assume(d,real); ST(c*p + d*q,r); # toimii ihan hullusti! ST(x - c*p(x) + d*q(x),r); vasen := expand(%); c*st(p,r) + d*st(q,r); oikea := expand(%); (5.3) (5.4) (5.5) (5.6) (5.7) (5.8) vasen - oikea; 0 (5.9) Siis on sisätuloavaruus. Tehtävä 6. Toinen kolmioepäyhtälö Merkintä <= tarkoittaa "pienempi tai yhtä suuri kuin". Vihjeen innoittamana: koska u = (u + v) + (- v), saamme tavallisen kolmioepäyhtälön avulla (<= on "pienempi tai yhtäsuuri kuin") u <= u + v + -v = u + v + v, josta u - v <= u + v. (*) Samoin - vaihtamalla roolit - v <= v + u + -u = u + v + u ja siten myös -( u - v ) = v - u <= u + v. (**) Mutta (*) ja (**) yhdessä tarkoittavat, että u - v <= u + v. Tehtävä 7. Epäyhtälöarvioita Merkintä <= tarkoittaa "pienempi tai yhtä suuri kuin". a) 3u - 4v = 4(u - v) - u, joten kolmioepäyhtälön ja normin ominaisuuksien mukaan 3u - 4v = 4(u - v) + (- u) <= 4(u - v) + - u = 4 (u - v) + -1 u = 4 (u - v) + u missä on käytetty tavallis(in)ta normi- -epäyhtälöä. b) Vastaavaan tapaan kuin a), mutta nyt tarvitaan termi 3(u - v)
3u - 4v = 3(u - v) - v, joten kolmioepäyhtälön ja normin ominaisuuksien mukaan 3u - 4v = 3(u - v) + (- v) <= 3(u - v) + - v = 3 (u - v) + -1 v = 3 (u - v) + v Tehtävä 8. Epäyhtälöarvioita Muuttujien suhteen lineaarisuudesta saadaan: <3u - 4v, 4u - 3v = <3u + (-4v), 4u+(-3v) = <3u, 4u+(-3v) + <(-4v), 4u+(-3v) = 12<u, u + (-9)<u, v + (-16)<v, u + 12<v, v Vaihdannaisuuksien avulla saadaan normimerkinnöin <3u - 4v, 4u - 3v = 12( u ^2 + v ^2) + (-25)<u, v Tavallisen kolmioepäyhtälön mukaan ja ottaen huomioon ei-negatiivisuudet: <3u - 4v, 4u - 3v = 12( u ^2 + v ^2) + (-25)<u, v <= 12( u ^2 + v ^2) + (-25)<u, v = 12( u ^2 + v ^2) + 25 <u, v Schwarzin epäyhtälön mukaan edelleen: <= 12( u ^2 + v ^2) + 25 u v