75032 Matrisemetoder

Løsningsforslag til oppgaver gitt til mandag 7/11–94

Oppgave 3.2.16 side 152:

(a) x^{T}(P y) = (P y)^{T}x = y^{T}P^{T}x = y^{T}(P x) siden P^{T} = P.

(b) Dersom vi skriver θ(x, y) for vinkelen mellom x og y er

cos θ(x, P y) = \frac{x^{T}P y}{∥x∥ ∥P y∥}, cos θ(y, P x) = \frac{y^{T}P x}{∥P x∥ ∥y∥}

De to tellerne er like, men vi har ingen grunn til å tro at nevnerne skal være like — for eksempel om x er parallell med a slik at P x = x mens y ikke er det, slik at ∥P y∥ < ∥y∥.

For de oppgitte vektorene finner vi ∥a∥ = \sqrt{3}, ∥x∥ = \sqrt{5}, ∥y∥ = 3, a^{T}x = a^{T}y == 1, som leder til

P x = \frac{a^{T}x}{a^{T}a}a = \frac{1}{3}a, P y = \frac{a^{T}y}{a^{T}a}a = \frac{1}{3}a

hvorav

cos θ(x, P y) = \frac{x^{T}P y}{∥x∥ ∥P y∥} = \frac{1/3}{\sqrt{5}/\sqrt{3}} = \frac{1}{\sqrt{15}}, cos θ(y, P x) = \frac{y^{T}P x}{∥P x∥ ∥y∥} = \frac{1/3}{(1/\sqrt{3})3} = \frac{1}{9\sqrt{3}}.

(c) (P x)^{T}(P y) = x^{T}P^{T}P y = x^{T}P y siden P^{T} = P og P^{2} = P. θ(P x, P y) = 0, siden de to vektorene er parallelle.

Oppgave 3.3.6 side 163: Normalligningene blir

A^{T}Ax = A^{T}b,  A^{T}A = [\begin{matrix}9 & −9 \\ −9 & 18 \end{matrix}] , A^{T}b = [\begin{matrix}−9 \\ 27 \end{matrix}] ,  med løsning x = [\begin{matrix}1 \\ 2 \end{matrix}] .

Dermed blir

p = Ax = [\begin{matrix}3 \\ 0 \\ 6 \end{matrix}] , q = b − p = [\begin{matrix}−2 \\ 2 \\ 1 \end{matrix}] ∈ R(A)^{⊥} = N (A^{T}).

Oppgave 3.3.24 side 165: Vi søker en tilnærmet sammenheng på formen y = at + b, som gir ligningssystem

[\begin{matrix}−1 & 1 \\ 0 & 1 \\ 1 & 1 \\ 2 & 1 \end{matrix}] [\begin{matrix}a \\ b \end{matrix}] = [\begin{matrix}2 \\ 0 \\ −3 \\ −5 \end{matrix}] .

Normalligningen blir

[\begin{matrix}6 & 2 \\ 2 & 4 \end{matrix}] [\begin{matrix}a \\ b \end{matrix}] = [\begin{matrix}−15 \\ −6 \end{matrix}] med løsning [\begin{matrix}a \\ b \end{matrix}] = [\begin{matrix}−12/5 \\ −3/10 \end{matrix}] .

Her er en kort løsning av oppgaven med MATLAB:

>> t=[-1,0,1,2]';
>> y=[2,0,-3,-5]';
>> A=[t,ones(size(t))]
A =
    -1     1
     0     1
     1     1
     2     1
>> c=(A'*A)\A'*y
c =
   -2.4000
   -0.3000
>> plot(t,y,'r*',t,A*c,'b-')
>> print -depsc 'loesn-07.eps'

(I MATLAB skrives A' for den transponerte til A. Semikolon brukes for å undertrykke utskrift av et resultat. Notasjonen A\b står for A^{−1}b, men i stedet for å regne ut A^{−1} løses ligningen Ax = b — ikke at det gjør noen praktisk forskjell for 2 × 2-matriser, men for store matriser er det en betydelig forskjell.)