Matris-vektor multiplikation
Hur ska jag tolka en vektor-matris multiplikation?
vid Ax ska A där a är en mxn matris ska A ha n stycken vektorer där varje vektor är av m dimensioner. x däremot har n dimensioner. Hur går detta ihop? Eller kan man ens tänka i termer om dimension? Men då faller väl konceptet med vektorer ihop?
Om x är t.ex (a,b,c) [men vertikalt, som jag inte vet hur jag skriver här] så motsvarar a en x-dimension. Men vid multiplikation med matrisen A så känns det som att den innebörden bakom a går förlorad. Så när man skriver ut multiplikationen så är a bunden till x-dimensionen vid ena sidan likhetstecknet och bara ett vanligt tal på andra sidan likhetstecknet.
Hur ska man tolka en matris gånger en vektor?
En matris gånger en vektor kan ses som en transformation av vektorn i fråga. Ett väldigt intutivt sätt att se detta på förklaras i denna YT video av 3blue1brown (som för övrigt har många bra videos, inom bland annat linjär algebra).
Jag tolkar din fråga som att du vet hur matris–vektormultiplikation utförs, du undrar hur den ska tolkas.
Ett svar som jag tycker är instruktivt är följande:
Låt A vara matrisen med kolumnerna [ a1 a2 a3 … am]
Sedan har vi vektorn v med elementen v1 v2 v3 … vm
Produkten Av är då v1a1 + v2a2 + v3a3 + … + vmam
Nu ser vi att det inte spelar någon roll hur många rader A har. Det viktiga är att det är lika många kolumner i matrisen som element i vektorn.
Marilyn skrev:Jag tolkar din fråga som att du vet hur matris–vektormultiplikation utförs, du undrar hur den ska tolkas.
Ett svar som jag tycker är instruktivt är följande:
Låt A vara matrisen med kolumnerna [ a1 a2 a3 … am]
Sedan har vi vektorn v med elementen v1 v2 v3 … vm
Produkten Av är då v1a1 + v2a2 + v3a3 + … + vmam
Nu ser vi att det inte spelar någon roll hur många rader A har. Det viktiga är att det är lika många kolumner i matrisen som element i vektorn.
Jo men nu har man ju hittat ett specifikt format där bara ett sätt att utföra multiplikationen är rimligt. Man hade ju kunnat definiera det på ett annat sätt, t.ex multiplicera varje rad i matrisen men varje rad i vektorn (som bara består av ett tal) och sagt att alla andra format inte är definierade. Varför är detta en så naturligt sätt att utföra multiplikationen på?
Tar du vektorn i transponat och multiplicerar med matrisen i transponat från vänster får du din andra definition.
Man måste sätta upp en ramverk för hur operationen ska gå till. Därefter är det bara att mixtra med operanderna för att få fram det resultat du vill.
Calle_K skrev:Man måste sätta upp en ramverk för hur operationen ska gå till. Därefter är det bara att mixtra med operanderna för att få fram det resultat du vill.
Nästan all litteratur jag kommit över pratar om att det ramverk som finns är naturligt. Men är det lika naturligt som alternativa ramverk. Är det existerande ramverket mer naturligt än alternativa ramverk, eller kräver det bara mindre arbete för de vanligaste operationerna?
Ramverket är ju att multiplikationen ”Av” utförs ”horisontellt i A och vertikalt i v”. Men det är ju inget som är nödvändigt, man kan ju placera ut elementen som man vill på golvet, bara man har koll på vilka som ska multipliceras med vilka. T ex skalärprodukt mellan vektorer skriver jag gärna
fastän det ser horribelt ut för den som vant sig vid matrismultiplikation. En gång gick vi från vänstertrafik till högertrafik.
PS Videon Calle_K rekommenderade är briljant (liksom mycket av 3blue1brown), men kanske lättare att ta in om man har litet erfarenhet av matrismultiplikation. Det viktiga tror jag är, att när vi ska beskriva rotation och skalning av en vektor så är det praktiskt med en procedur. Vi kallar proceduren ”naturlig” eftersom den är synkad med förändringen. Visst kan man välja andra procedurer, liksom man kan köra på vänster eller höger sida av vägen. Båda sätten funkar för att organisera trafiken. På japanska skriver man uppifrån och ned (har jag för mig), det går också.
Angående dimension: du får tänka att en vektor är en matris av dimension Nx1 (kolumnvektor, är det en radvektor är dimensionen 1xN). Då kan du multiplicera Av om A är MxN och v är Nx1, och resultatet blir Mx1, dvs en ny kolumnvektor