| |
|
|
p.specht
| En manchen Tareas, el mittels Matrizenrechnung gelöst voluntad debería, es el Produkt R = X' X uno Matrix gefragt. Mit X' se bekanntlich el Transponierte (= el a Hauptdiagonale links-oben después de rechts-unten gewendete Matrix) bezeichnet. En Eigenmultiplikationen puede ser se esta Transposition sowie el Berechnung aller unteren Diagonalelemente el Ergebnismatrix R aber sparen, como de estos Operationen siempre una quadratische, diagonalsymmetrische Matrix herauskommt. Das folgende Programmstück erspart also una Menge Doppel-gemoppel y, antes allem en größeren Matrizen, viel Rechenzeit.
Referencia: Auf quadratisch-symmetrische Matrizen dejar se auch otro Operationen besonders effizient anwenden, etwa el Spiegelungsoperationen des Algorithmus de Alston Scott Householder, el Jacobiverfahren, el Givens-Rotation o schrittweise Eigenwert-Faktorenermittlung después de Von_Mises.
Título de la ventana "Beschleunigte Eigenmultiplikation R=X'X uno Matrix X"
Windowstyle 24:Ventana 0,0-%maxx,%maxy
set("decimals",17):set("numwidth",26)
var n&=4:var m&=3
declarar x![n&-1,m&-1],k&,x#
dim x#,8*m&*n&:k&=x#:x#=addr(x![0,0]):float x#,0=\
1,2,1, 2,3,3, 3,2,1, 2,1,1
' 1.1 , 2.2 , 3.33/10^2 ,\
' 4 , 5 , 6.6 ,\
' 7.7E2, 8.88, 9.9999 ,\
'10.0 ,11.11,12.3456
x#=k&:disponer x#
declarar i&,j&,s!,R![m&-1,m&-1]
whileloop 0,m&-1:k&=&Loop:s!=0
Whileloop 0,n&-1
s!=s!+SQR(x![&Loop,k&])
endwhile
R![k&,k&]=s!
endwhile
Whileloop 0,m&-1:k&=&Loop
Whileloop k&+1,m&-1:j&=&Loop:s!=0
whileloop 0,n&-1:i&=&Loop
s!=s!+x![i&,j&]*x![i&,k&]
endwhile
R![j&,k&]=s!
R![k&,j&]=s!
endwhile
endwhile
'Show
whileloop 0,m&-1:i&=&Loop
whileloop 0,m&-1:k&=&Loop
imprimir tab(k&*28);R![i&,k&],
endwhile:imprimir
endwhile
waitinput
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 19.05.2021 ▲ |
|
|
|