Ich habe versucht, Testfälle für CG auszuführen, und ich muss Folgendes generieren:
- symmetrische positive definitive Matrizen
- mit einer Größe> 10.000
- VOLL DICHTE
Verwenden Sie nur Matrixindizes und gegebenenfalls 1 Vektor (wie )
Mit einer Bedingungsnummer von weniger als 1000.
Ich habe versucht:
Generieren von Zufallsmatrizen mit
A=rand(N,N)
und dannA'A
Sym. PD. [Dies erhöht die Bedingungsnummer]Wenn Sie den Vektor-Appraoch wie gezeigt verwenden, kann ich anscheinend keine Funktion erhalten,
(x,i,j)
die Sym und PD gewährleistet.
Nach langem Experimentieren kam ich auf Folgendes:
a(it,jt) = (vec(it)+vec(jt))/((it-1)^2+(jt-1)^2);
Wenn
a(it,it) = x(it)
wenn
Aber das ist PD bis etwa 500x500.
- XLATMR . [Bei all der Einstufung und Skalierung ist es zu schwer zu verstehen. Zumal ich die zugrunde liegende lineare Algebra nicht verstehen kann]
Kann mir jemand eine Funktion in x (Vektor) und i, j (Indizes) geben, die die oben genannten Anforderungen erfüllt?
a+N*eye(N,N)
sicherstellen, dass es für alle Werte über 5000 funktioniert? Können Sie Ihren Kommentar in eine Antwort umwandeln?