Transformationsmatrisen – del 2

Det här är fortsättningen på inlägget Transformationsmatrisen – del 1. I första delen behandlas begreppet baser.

Vektorer i olika baser

Vektorer som skrivs med hjälp av siffror till exempel så här \left(\begin{array}{c}\sqrt{2} \\5\end{array} \right) betyder egentligen ingenting särskilt av sig själv, utan måste ha en bas hängande efter sig som en svans. \left(\begin{array}{c}\sqrt{2} \\5\end{array} \right)_b betyder att en vektor är uttryckt i basen b.

Ofta skriver man inte ut denna svans och det är när man har koll på vilken bas det är som gäller. Ganska ofta menar man standardbasen. Men skriv alltid ut den när det händer basbyten och liknande grejer! Det är lätt att tappa bort sig.

Till exempel är \left(\begin{array}{c}1 \\2\end{array} \right)_b , \left(\begin{array}{c}1 \\2\end{array} \right)_c och \left(\begin{array}{c}1 \\2\end{array} \right)_d helt olika vektorer:

Hur visste jag hur de olika vektorerna såg ut? Jo, \left(\begin{array}{c}1 \\2\end{array} \right) i bas b betyder b_1+2b_2 och på samma sätt \left(\begin{array}{c}1 \\2\end{array} \right) i bas c betyder c_1+2c_2 och \left(\begin{array}{c}1 \\2\end{array} \right) i bas d betyder d_1+2d_2:

Det vi vill nu är tvärtom: att skriva samma fysiska vektor i olika baser b, c, d. Då kommer dess siffror att se ut på olika sätt.

Exempelvis är vektorn \left(\begin{array}{c}-1 \\2\end{array} \right) i standardbasen lika med:
v=\left(\begin{array}{c}-1 \\2\end{array} \right)=\left(\begin{array}{c}-1/2 \\1\end{array} \right)_b=\left(\begin{array}{c}-1 \\1\end{array} \right)_c=\left(\begin{array}{c}-3/2 \\1/2\end{array} \right)_d

Och hur får man tag på dem siffrorna? Jo, man kan antingen ”se” hur många basvektorer av varje sort som behövs för att få vektorn v:

Eller så kan man ställa upp en ekvation, som för basen d. Säg att det behövs x stycken första basvektorer och y stycken andra basvektorer (kan också vara icke-helt antal stycken).

v=x\cdot d_1+y\cdot d_2 och då
v=x\cdot \left(\begin{array}{c}1 \\-1\end{array} \right)+y\cdot \left(\begin{array}{c}1 \\1\end{array} \right)
\left(\begin{array}{c}-1 \\2\end{array} \right)=\left(\begin{array}{c}x \\-x\end{array} \right)+\left(\begin{array}{c}y \\y\end{array} \right)
\left(\begin{array}{c}-1 \\2\end{array} \right)=\left(\begin{array}{c}x+y \\-x+y\end{array} \right)
De motsvarande koordinaterna skall vara lika, så -1=x+y och 2=-x+y. Då har vi att 1=2y genom att summera båda ekvationerna ledvis och då måste y=1/2 och följaktigen x=-3/2.

Om vi nu behöver göra detta många gånger till (bestämma koordinater med hjälp av ekvationssystem) blir det tröttsamt i längden. I stället kan vi bestämma transformationsmatrisen mellan standardbasen och basen d exempelvis och därefter bara behöva multiplicera med den matrisen.

Jag kan avslöja redan nu att transformationsmatrisen, som tar vektorer i standardbasen och sedan uttrycker dem i bas d är \left(\begin{array}{cc}1/2 & -1/2\\1/2 & 1/2\end{array} \right)

Vi testar:
\left(\begin{array}{cc}1/2 & -1/2\\1/2 & 1/2\end{array} \right) \cdot \left(\begin{array}{c}-1 \\2\end{array} \right) blir \left(\begin{array}{c}-3/2 \\1/2\end{array} \right). Hurra!

Hur man bestämmer sådana här transformationsmatriser kommer att avslöjas i nästa del!

Transformationsmatrisen – del 1

De flesta matematik- och ingenjörsstudenter läser någon form av linjär algebra. Det är ett högst rimlig inslag i deras utbildning – vilken vuxen människa räknar inte med matriser :)?

Just beräkningar är dessutom det studenterna måste lära sig först. Efter att de behärskat teknikerna som Gauss-elimination och matrismultiplikation är det dags för nästa steg: räkna med olika baser.

Jag har som lärare på kursen Linjär algebra II fått överlägset mest frågor om avsnittet som handlar om transformationsmatriser. De frågorna var jag också sämst på att besvara, eftersom man alltid är tvungen att hålla tungan rätt i mun med transformationsmatriser. Olika beteckningar i olika böcker förbättrar inte situationen.

Så vad är en transformationsmatris?

Med en transformationsmatris från basen b till basen c menar jag en matris som omvandlar vektorer, uttryckta i basen b, till likadana vektorer, men uttryckta i basen c.

Eller snarare så här: tar man en vektor (föreställ er ett geometriskt objekt) och skriver upp dess koordinater i basen b och sedan multiplicerar med transformationsmatrisen från vänster (det vill säga tar produkten matris \cdot vektor), så kommer resultatet vara samma vektor (exakt samma geometriskt objekt), men koordinaterna kommer ändra sig. De kommer att vara uttryckta i basen c.

Därför kallas transformationsmatrisen också basbytesmatrisen. Det den gör är att byta vilken bas som för tillfället är den aktuella, i vilken bas vi just nu räknar saker.

Vissa begrepp kanske känns oklara i förklaringen ovan. Vi reder ut dem!

Vadå baser?

En bas kan ses som en sorts koordinatsystem. Om vi arbetar på det tvådimensionella planet så kan vi rita flera olika koordinatlinjer:

Som vi ser bestäms hela bilden alltid av två sorts linjer. Det är riktningarna på linjerna som är viktiga.

På samma sätt bestämmer två vektorer en bas i planet. De skall vara riktade åt olika håll (inte parallella). En bas är alltså ett par av vektorer. (Men i rum med högre dimension ska en bas bestå av fler vektorer, antalet är lika med dimensionen.)

Så exempel på baser (som vi ska jobba med) är:

bas b

bas c

bas d

Om vi lägger på koordinater på rutnätet kan vi läsa av vad de här basvektorerna har för koordinater (i standardbasen):

Nämligen b_1=(2,0), b_2=(0,2), c_1=(2,0), c_2=(1,2), d_1=(1,-1), d_2=(1,1)

Eller, skrivna på kollonform: b_1=\left(\begin{array}{c}2 \\0\end{array} \right), b_2=\left(\begin{array}{c}0 \\2\end{array} \right), c_1=\left(\begin{array}{c}2 \\0\end{array} \right), c_2=\left(\begin{array}{c}1 \\2\end{array} \right), d_1=\left(\begin{array}{c}1 \\-1\end{array} \right), d_2=\left(\begin{array}{c}1 \\1\end{array} \right)

Det är egentligen ingen väsentlig skillnad mellan radform och kolonnform, men oftast skriver man vektorerna på kolonnform. Om man gör det, så skall matrisen skrivas till vänster om vektorn vid multiplikation.

I nästa del reder vi ut hur man beräknar och skriver vektorer i olika baser.

Vektorrum

Vad är det? Ett rum där vektorerna bor, såklart! Vill man veta vad som försigår där, så kan man lyssna på låten Tänk om jag vore en skalärprodukt.

Men om man ska vara matematiskt petig, så är vektorrum en mängd med vektorer, där diverse räknelagar för dem är uppfyllda.  Vi kan tänka på vektorer som förflyttningar: det viktigaste är inte var vi startar utan hur långt vi har förflyttat oss och åt vilket håll. 

Låt oss säga att vi startar i origo i vårt vektorrum. Vi försöker förflytta oss med hjälp av alla möjliga vektorer tillgängliga.  Som till exempel en enkel robot som vi styr genom en labyrint,  den kan bara få instruktioner “ett steg åt höger”, “ett steg åt vänster”, “ett steg uppåt”, “ett steg neråt”. På samma sätt får vi instruktionerna ur mängden av vektorer, varje vektor är en instruktion till oss.  Axiomen säger då att vi på så sätt inte ska kunna hoppa ur vektorrummet helt plötsligt om vi går med hjälp av instruktionerna.

Det finns dock extra saker som vi kan göra. Vi får nämligen själva bestämma hur långt vi kan gå åt varje håll som ges åt oss. Säg till exempel, att vi får vektorn som pekar “diagonalt-uppåt-höger”. Då kan vi gå jättelångt diagonalt, men också jättekort. T.ex. ett pyttelitet steg diagonalt, eller till och med inget steg alls.

Nu kan vi till och med formulera vad det betyder att vektorer spänner upp nånting. Vektorerna spänner upp ett underrum (en del av ett vektorrum) som består av alla punkter vi kan komma fram till om vi startar i origo (med hjälp av instruktioner från föregående stycken). T.ex. robotvektorerna spänner upp en hel labyrint, för att roboten kan komma fram överallt (om det är en snäll labyrint).