Wie der Titel sagt, muss ich Cholesky-LDL-Zerlegung für meine positiv definite Matrix A bilden (wie normale Cholesky, aber es gibt eine Diagonale von L, und D ist Diagonalmatrix). Ich habe nur eine Funktion in Lapack gefunden, die das tut, aber es besagt, dass die Matrix A tridiagonal sein muss. Gibt es irgendeine Funktion, die das in einigen freien Unterprogrammbibliotheken wie lapack tut?Gibt es Fortran Subroutine in LAPACK/BLAS oder anderswo, um LDL-Zerlegung zu berechnen?
1
A
Antwort
2
prüfen die SSPTRF Funktion aus LAPACK out:
Purpose
=======
SSPTRF berechnet die Faktorisierung einer reellen symmetrischen Matrix A in gepackten Format unter Verwendung der gespeicherten Bunch- Kaufman diagonaler Schwenk Methode:
A = U * D * U ** T oder A = L * D * L ** T
wobei U (oder L) ein Produkt von permutat ist Ionen und Einheit obere (untere) Dreiecksmatrizen, und D ist symmetrisch und blockdiagonal mit 1-by-1 und 2-by-2 diagonalen Blöcken.
Auch Golub und Van Loan der "Matrix Computations" Buch gibt einen Algorithmus, um die Zersetzung zu tun. In meiner dritten Ausgabe ist es auf Seite 138, Abschnitt 4.1.2 "Symmetrie und die LDL^T-Faktorisierung".
Verwandte Themen
- 1. Gibt es in C Subroutinen ähnlich denen in Fortran?
- 2. Aufruf einer Fortran-Subroutine aus Java
- 3. Fortran-Subroutine liefert falsches Ergebnis, wenn in C++ - Programm aufgerufen
- 4. Welche Fortran-Compiler gibt es?
- 5. R: Vorteile der Verwendung einer Fortran-Subroutine mit .Call und C/C++ - Wrapper anstelle von .Fortran?
- 6. Gibt es eine Alternative zu getcwd() in Fortran 2003-2008
- 7. Datenüberprüfungen in Getter/Setter oder anderswo?
- 8. Fortran: Gibt es eine Möglichkeit, Module bedingt zu verwenden?
- 9. Sollte ich Fortran oder C++ lernen, um R zu erweitern?
- 10. Fortran get_environment_variable intrinsisch gibt nichts zurück
- 11. Sind lokale Variablen in Fortran 77 statisch oder stapelweise dynamisch?
- 12. Gibt es eine Möglichkeit, den aktuellen Dateinamen in FORTRAN 77
- 13. Eine große Anzahl von Variablen an die Subroutine übergeben v/s Variablen innerhalb der Subroutine deklarieren
- 14. Behauptungen in Fortran
- 15. Gibt es eine Möglichkeit, die Pixellänge einer Zeichenfolge zu berechnen?
- 16. Gibt es eine Möglichkeit, den ViewState MAC zu berechnen?
- 17. Gibt es eine vektorisierte Methode, um den Gradienten in sympy zu berechnen?
- 18. Array in Subroutine ändern
- 19. Fortran DEALLOCATE
- 20. Gibt es einen schnelleren Weg, um den Mittelwert von Funktionsergebnissen als Generieren/Akkumulieren zu berechnen?
- 21. Gibt es Strategien, um Satisficing zu vermeiden?
- 22. Fortran DLL zu machen und es von C#
- 23. Gibt es einen kurzen Weg, x * 2 + 1 zu berechnen?
- 24. Perl-Skript, um relative Entropie oder gegenseitige Informationen zu berechnen
- 25. Gibt es eine Möglichkeit, die Geschwindigkeit einer ScrollView zu berechnen?
- 26. OOP Fehler in Fortran
- 27. Gibt es eine Python-Methode, um Lognormal-Mittelwert und Varianz zu berechnen?
- 28. PyGTK: Gibt es eine Methode, um die beste Größe für ein Fenster zu berechnen?
- 29. Gibt es einen einfacheren Weg, um einen Straight im Poker zu berechnen?
- 30. Gibt es einen allgemeinen Weg, um die asymptotische Zeitkomplexität von for-Schleifen mit Schritt zu berechnen?