2021-05-09, 15:22
  #1
Medlem
synshadowss avatar
S enligt boken stmmer sambandet:

a^T*X*X = X*X^T*a

dr a och X r vektorer. Hur kan man visa detta?

a^T*X*X =(a b) *(x1)*(x1) = (a*x1+b*x2)*(x1) = (a*x1*x1+b*x2*x1) vilket r en 2x1 vektor
(x2) (x2) (x2) (a*x1*x2+b*x2*x2)

X*X^T*a = (a*x1*x1 b*x1*x2) vilket r en 2x2 matris?
(a*x1*x2 b*x2*x2)

Hur gr detta ihop egentligen?

Vet att man i matlab kan multiplicera vektorer med x.*x eller x*x vilket ger olika svar men jag har aldrig imitt liv anvnt nt annat n x.*x multiplicering s frstr inte varfr jag skulle behva gra det nu.

En annan weird grej r att man inte borde kunna multiplicera X*X d dimensioerna r desamma?
Citera
2021-05-09, 15:35
  #2
Medlem
Frstr inte riktigt vad du gr, men multiplicerar man en matris med en vektor, s fr man en vektor.

.* i Matlab gr en elementvis multiplikation, vilket inte r samma som matrismultiplikation.

X*X gr bra fr kvadratiska matriser, och ger d en kvadratisk matris med samma dimension.
Citera
2021-05-09, 15:45
  #3
Medlem
Igni-ferroques avatar
X^T*a och a^T*X resulterar bda i en summa. Har man en matris av storlek rxn och multar med en matris av storlek nxm s r produkten en matris av storlek rxm. fast hr r r och m lika med 1.

Jag kollade litet snabbt p vektorer av lngden tv:

a^T*X = a1*x1 + a2*x2
X^T*a = x1*a1 + x2*a2

Nu r det en vanlig skalr s om man multar vektoren x frn hger eller vnster spelar ingen roll man fr samma sak.
Citera
2021-05-09, 16:12
  #4
Medlem
Det ser ut som en projektionsformel. Projektionen av a p en enhetsvektor x brukar vl oftast skrivas som (ax)x, eller (a^T*x)*x, och igni har ju frklarat varfr det r lika med x*x^T*a. Projicerar man p kolonnrummet till en matris X med ortonormala kolonner blir projektionsformeln X*X^T*a, men absolut inte a^T*X*X.
Citera
2021-05-09, 16:43
  #5
Medlem
nerdnerds avatar
Citat:
Ursprungligen postat av synshadows
S enligt boken stmmer sambandet:

a^T*X*X = X*X^T*a

dr a och X r vektorer. Hur kan man visa detta?

a^T*X*X =(a b) *(x1)*(x1) = (a*x1+b*x2)*(x1) = (a*x1*x1+b*x2*x1) vilket r en 2x1 vektor
(x2) (x2) (x2) (a*x1*x2+b*x2*x2)

X*X^T*a = (a*x1*x1 b*x1*x2) vilket r en 2x2 matris?
(a*x1*x2 b*x2*x2)

Hur gr detta ihop egentligen?

Vet att man i matlab kan multiplicera vektorer med x.*x eller x*x vilket ger olika svar men jag har aldrig imitt liv anvnt nt annat n x.*x multiplicering s frstr inte varfr jag skulle behva gra det nu.

En annan weird grej r att man inte borde kunna multiplicera X*X d dimensioerna r desamma?
Du har nog inte lyckats srskilt bra med formateringen dr, om du kollar sjlv hur ditt inlgg ser ut nu. Ett stt att lyckas lite bttre r att anvnda markup-kommandona [code] och [/code] runt det du vill skriva, s kommer det ut t ex s hr (som du verkar ha frskt gra nr man kollar p den input du skrev, som blir synlig nr man citerar inlgget):
Kod:
X*X^T*a = (a*x1*x1   b*x1*x2)
          (a*x1*x2   b*x2*x2)
(efter lite meck! Kolla alltid med "Frhandsgranska inlgg"!)

Men d undrar jag kanske nnu mer vad detta handlar om. Ngon sorts yttre produkt?

Eller s skickar du en lnk till en bild du laddat upp p t ex imgur.
Citera
2021-05-10, 23:43
  #6
Medlem
Du har rtt att X*X inte funkar, men det spelar ingen roll, fr du rknar A^T*X*X. X*X behver inte vara definierad bara fr att A^T*X*X r det. Fr matrismultiplikation gller (AB)C = A(BC) bara om bde AB och BC r definerad.
https://en.wikipedia.org/wiki/Matrix...#Associativity

Jag anvnder notationen att
Kod:
X = (x_1, x_2, ... , x_n)^T

Man kan se att
Kod:
a^T*X*X = sum(a_i*x_i, i=1 to n) * X
eftersom a^T*X blir en skalr
Kod:
a^T*X = sum(a_i*x_i, i=1 to n)

I X*X^T*a s gller att
Kod:
(X*X^T)*a = X*(X^T*a)
eftersom bde X*X^T och X^T*a r definierad
Kod:
X^T*a = sum(a_i*x_i, i=1 to n)
X*(X^T*a) = X * sum(a_i*x_i, i=1 to n) = sum(a_i*x_i, i=1 to n) * X

Man kan visa likheten utan att ndra multiplikationsordningen, och frsta rkna ut X*X^T (som blir en nxn matris). Det blir lite krngligare och jag vet inte om jag kan beskriva det i ngot lsbart format i ett foruminlgg.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in