10 svar
249 visningar
dajamanté är nöjd med hjälpen
dajamanté 5139 – Fd. Medlem
Postad: 16 apr 2019 11:05

Förenkla basbyte

Hej!

I uppgiften nedan, kan man inte gaussa sig fram till matris Q uttryckt i bas B med:

(bas_B|vektorer uttryckta i standard bas)(bas_B|Matris_Q)

12-121-1/21212-1/2-1/2

Det står ett separator mellan dem 2 första kolonn och dem 2 sista...

SeriousCephalopod 2692
Postad: 16 apr 2019 11:15

Har du någon motivation till varför det skulle fungera?

Den algoritmen är ju till för att uttrycka en linjär avbildning i en annan bas men Q är ju inte en linjär avbildning per se utan en kvadratisk form, något som inte är linjärt, så även om ett sådant steg kanske skulle kunna användas i en större plan så kan det knappast vara den färdiga lösningen. 

dajamanté 5139 – Fd. Medlem
Postad: 16 apr 2019 11:35
SeriousCephalopod skrev:

Har du någon motivation till varför det skulle fungera?

 

Ja: jag brukar använda den för att undvika basbytesmatris.

Den algoritmen är ju till för att uttrycka en linjär avbildning i en annan bas men Q är ju inte en linjär avbildning per se utan en kvadratisk form, något som inte är linjärt, så även om ett sådant steg kanske skulle kunna användas i en större plan så kan det knappast vara den färdiga lösningen.

Intelligen bläckfisk, kan du utveckla det här? Vad spelar det roll att Q är linjär eller inte?

SeriousCephalopod 2692
Postad: 16 apr 2019 12:16 Redigerad: 16 apr 2019 13:18

Så principen bakom ett basbyte är ju att vi definierar den nya linjära avbildningmatrisen ABA_B genom att definiera en basbytesmatris PP (y=Pxy = Px) som omformulerar vektorer uttryckta relativt BB till vektorer uttryckta relativt standardbasen, därefter applicerar A0A_0 som beskriver hur vektorer uttryckta i standardbasen avbildas, och därefter uttrycker resultatet av avbildningen genom att multiplicera med basbytesmatrisens för att återföra alt till nya basen. 

Processen kan sammanfattas via produkterna

AB=PA0P-1\boxed{A_B = PA_0 P^{-1}}

där ABA_B alltså är avbildningens matris relativt basen B och A0A_0 är avbildningens matris relativt standardbasen. 

Låt oss säga att du behandlade Q som en linjär avbildning och utförde basbytesstegen med algoritmen så att du producerade QBQ_B, definierat via

QB=PQ0P-1Q_B = P Q_0 P^{-1}

men där du sluppit att skriva ut basbytesmatrisen P explicit. Låt oss dock fundera på om denna matris verkligen är representativ för en kvadratisk form. 

Om vi tittar på en kvadratisk form uttryckt i matrisnotation relativt standardbasen xTQ0xx^T Q_0 x och vi vill definiera en ekvivalent matris QBQ_B relativt en annan bas definierad via avbildningen y=Pxy = Px där det alltså ska gälla att

xTQ0x=yTQByx^T Q_0 x = y^T Q_B y

när y = Px för alla x. Låt oss injicera detta basbyte i matrisuttrycken

xTQ0x=(P-1y)TQB(P-1y)=yT((P-1)TQ0P-1)yx^T Q_0 x = (P^{-1}y)^T Q_B (P^{-1}y) = y^T ((P^{-1})^T Q_0 P^{-1})y

och identification ger dig

QB=(P-1)TQ0P-1x\boxed{Q_B = (P^{-1})^T Q_0 P^{-1} x}

Vilket skiljer sig från basbytet för en linjär avbildning i det att vi får med en transponering. Om det råkar vara så att basbytet är ortogonalt så att (P-1)T=P(P^{-1})^T = P så råkar de vara samma formel men om basbytet inte är ortogonalt så finns denna skillnad man får hantera.

***Notera att huruvida ^{-1} förekommer på vänster eller höger av matriserna eller alls beror av i vilken riktning man har definierat basbytesmatrisen så din kan ha

AB=P-1A0P\boxed{A_B = P^{-1}A_0 P} för linjära avbildningar och QB=PTQ0P\boxed{Q_B = P^T Q_0 P} för kvadratiska istället om vi definierar bytet via x=Pyx = Py

dajamanté 5139 – Fd. Medlem
Postad: 16 apr 2019 14:24

Måste läsa några gånger till, men ivf, ska jag inte använda det för kvadratiska formler längre.
Men detta algoritm där jag slupper(???) använda basbyte är fortfarnde gilltig för icke-kvadratiska matriser?

SeriousCephalopod 2692
Postad: 16 apr 2019 15:28 Redigerad: 16 apr 2019 16:09

Det mesta ovan var bara förklarande text eftersom jag tyckte det var enklare att härleda än citera 

Tre alternativa vägar är för mig öppna men jag har ingen ny novel algoritm

1. Eftersom matrisen är ortogonal (är en rotation 45 grader medurs) så är det i just detta fall ingen skillnad i hur en linjär avbildnings matris och en kvadratisk forms matris transformeras så man kan använda sida-vid-sida metoden utan problem. Skillnaden uppstår när basbytet inte är ortogonalt och PTP-1P^T \neq P^{-1}

2. Eftersom problemet är tvådimensionellt och basbytesmatrisen mer eller mindre är given så är det inte så jobbigt att göra saker med matris-produkts-formlerna.

3. Om man inte vill jobba med matriser man kan man representera basbytet som ekvationsrader och injicera dem.

u=12(x+y)u = \frac{1}{\sqrt{2}}(x + y)

v=12(-x+y)v =\frac{1}{\sqrt{2}}(-x + y)

löser man ut till 

x=12(u-v)x = \frac{1}{\sqrt{2}}(u - v)

y=12(u+v)y=\frac{1}{\sqrt{2}}(u + v)

och sedan injicerar vi dem bara in i Q-uttrycket

Q(u,v)=(u-v)2/2-(u-v)(u+v)/2+(u+v)2/2Q(u,v) = (u - v)^2 / 2 - (u - v)(u + v)/2 + (u + v)^2 / 2

och förenklar och sedan identifierar man matrisen från uttrycket. 

dajamanté 5139 – Fd. Medlem
Postad: 16 apr 2019 16:15

En sista... vad är sida vid sida metoden?

SeriousCephalopod 2692
Postad: 16 apr 2019 16:21

Jag har inget namn på det som jag förmodade att du tänkte göra i inledningen. 

Du vet när man sätter två matriser brevid varandra och utför samma radoperationer på vardera matris vilken jag tror man först lär sig för att ta fram inverser av matriser men som också kan användas för att multiplicera med inverser utan att behöva skriva ut dem explicit. Inte jättestor nytta här men i ett datorprogram kunde det snabbat upp saker lite. 

dajamanté 5139 – Fd. Medlem
Postad: 16 apr 2019 16:37

Aha shit men då är vi tillbaka på ruta 1! Min sida vid sida metod funkade inte ju?

SeriousCephalopod 2692
Postad: 16 apr 2019 16:56

Jag vet fortfarande inte hur du planerat att implementera den så sättet du göra den kanske är annorlunda än hur jag tror att du tänkt och då kanske det är så att den fungerar ändå.

Om den inte tar så lång tid kan du ju försöka göra den och se vad du får. 

dajamanté 5139 – Fd. Medlem
Postad: 16 apr 2019 16:58

Ja, jag får fel svar och det stämmer bra med din förklaring att det är därför det inte är linjär. Borde kanske släppa det och göra basbyte för dessa problem...

Tack för allt hjälp !!

Svara Avbryt
Close