Diagonale weergave van een kwadratische vorm
Bij een gegeven symmetrische vierkante matrix A, is het mogelijk de matrix A
te diagonaliseren door een orthogonale matrix P te vinden zodat P
waarbij D een diagonale matrix is. Als Q = x⋅A⋅x
gebaseerd op A is, dan is het mogelijk om de kwadratische vorm Q zo te
schrijven dat deze alleen vierkante termen bevat van een variabele y, zo dat
x = P⋅y, door Q te gebruiken als Q = x⋅A⋅x
T
y⋅D⋅y
.
De functie SYLVESTER
De functie SYLVESTER neemt als argument een symmetrische vierkante matrix
A en geeft een vector die de diagonale termen van een diagonale matrix D
bevat en de matrix P, zo dat P
[[2,1,-1],[1,4,2],[-1,2,-1]] SYLVESTER
geeft het volgende:
2: [ 1/2 2/7 -23/7]
1: [[2 1 –1][0 7/2 5/2][0 0 1]]
De functie GAUSS
De functie GAUSS geeft een diagonale weergave van een kwadratische vorm
Q = x⋅A⋅x
T
en neemt daarbij als argumenten de kwadratische vorm op
stapelgeheugenniveau 2 en de vectorvariabelen op stapelgeheugenniveau 1.
Deze functieoproep geeft het volgende:
Een verzameling coëfficiënten die de diagonale termen van D
•
(stapelgeheugenniveau 4) weergeven.
Een matrix P zodat A = P
•
•
De gediagonaliseerde kwadratische vorm (stapelgeheugenniveau 2)
•
De variabelenlijst (stapelgeheugenniveau 1)
Bijvoorbeeld:
'X^2+Y^2-Z^2+4*X*Y-16*X*Z' `
['X','Y','Z'] ` GAUSS
geeft
4: [1 –0,333 20,333]
3: [[1 2 –8][0 –3 16][0 0 1]]
2: '61/3*Z^2+ -1/3*(16*Z+-3*Y)^2+(-8*z+2*Y+X)^2'
1: ['X' 'Y' 'Z']
T
een kwadratische vorm
T
= (P⋅y)⋅A⋅ (P⋅y)
T
⋅A⋅P = D. Bijvoorbeeld:
T
⋅D⋅P (stapelgeheugenniveau 3)
⋅A⋅P = D,
T
= y⋅(P
T
T
⋅A⋅P)⋅y
T
=
Blz. 11-57