Tmv.

Template-Matrix- / Vektor-Bibliothek für C ++
Jetzt downloaden

Tmv. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • GPL
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Mike Jarvis
  • Website des Verlags:
  • Betriebssysteme:
  • Mac OS X
  • Dateigröße:
  • 1.7 MB

Tmv. Stichworte


Tmv. Beschreibung

Vorlagenmatrix / Vektor-Bibliothek für C ++ TMV ist eine lineare Algebra-Bibliothek für freie und offene Quelle, die den Operator-Überlastung, Ansichten und eine verzögerte Auswertung verwendet, um Vektor- und Matrixausdrücke in C ++ zu vereinfachen. TMV ist gut dokumentiert und kann optimierte Blas / Lapack für schnellere Ausführungszeiten aufrufen. Hier sind einige wichtige Funktionen von "TMV": · Operator-Überlastung: Ein Ausdruck wie v2 = x * m * v1 sollte einen korrekten und schnellen Code erstellen. (Keine Vorjahreslagerungen) · Komplexe Typen: Mischkomplexe und echte Typen in einer arithmetischen Erklärung sollten legal sein. · Zersetzungen: Division sollte bedeuten, eine Matrixgleichung zu lösen, die automatisch eine LU, QR, ein Choleky oder ein einzigartiger Wert-Zersetzung darstellt. · Geschwindigkeit: Der Code sollte für große Matrizen schnell sein. Normalerweise bedeutet dies, BLAS- und Lapack-Routinen hinter den Kulissen zu nennen. · Verzögerte Auswertung: (AKA Lazy Evaluation) Der Ausdruck V2 = X * M * V1 zum Beispiel in Lines direkt an Multimv (X, M, V1, V2), der die eigentliche Berechnung dauert, so dass keine Leistung von der Lesbarkeit der Betreiber. · Vorlagen: Wenn der Name TMV angibt, ist der Typ der Elemente in einem Vektor oder einer Matrix eine Vorlage. Sie können also Matrix, Matrix, Matrix haben oder sogar ein benutzerdefinierter Typ (zB Quad für 16 Byte Quad-Precision-Klasse) -Matrix verwenden. · Ansichten: Es gibt konstante und veränderbare Ansichten in einen Vektor oder eine Matrix. So-Ausdrücke wie M.ROW (3) + = 4. * M.ROW (0) und M2 * = M.Transe () Machen Sie die offensichtlichen Dinge. · Matrixbereich: Der Ausdruck X = B / A kann verwendet werden, um die Matrixgleichungs-AX = b zu lösen. Steuerungsmethoden für A können verwendet werden, um darüber mitzuteilen, welche Zersetzung zur Suche nach der Lösung verwendet wird. Es gibt auch Steuerelemente, um die Zersetzung für später wiederholte Verwendung zu sparen, und sogar dazu, dass die Zersetzung an Ort und Stelle zum Speichern bei der Speicherung teilt. · Flexibler Speicher: Eine Matrix kann entweder Ruder-Major oder Solding-Major deklariert werden. Bandmatrizen ermöglichen auch einen diagonalen Großraum. · Flexible Indexierung: Sie können angeben, dass Sie entweder mit der Normal C Convention (0-basierten Indexierung) oder der Fortran-Übereinkommen (1-basierten Indexierung) auf eine Matrix zugreifen möchten. · Aliasprüfung: Viele Matrixpakete berechnen m * = m falsch. TMV prüft automatisch, ob zwei Objekte in einer Berechnung denselben Speicher verwenden, und erstellt nach Bedarf Temporäre. Es prüft nur die Adresse des ersten Elements, sodass Sie immer noch einschrauben können. Aber meistens ist das gut genug. · BLAS / LAPACK: Die Bibliothek kann kompiliert werden, um Blas- und / oder Lapack-Routinen anzurufen. Wenn Sie sie jedoch nicht haben, funktioniert der interne Code auch. Die meisten internen Algorithmen sind so schnell wie der Lapack. Optimierte Blasroutinen sind jedoch im Allgemeinen wesentlich schneller. Die Kompilierung mit mindestens einer BLAS-Bibliothek wird also empfohlen, wenn die Geschwindigkeit für Sie wichtig ist. Was ist neu in dieser Version: · Korrigierte einen Fehler mit M.DIVISSET (); · Korrigierte die Dokumentation zum Zugriff M.SVD (), insbesondere, dass S jetzt ein Diagmatrix ist, anstatt ein Vektor. · Verändertes Verhalten von Methoden wie M.SVD (). Wenn nun bereits SV bereits eingestellt wurde, wird es so eingestellt, anstatt einen Fehler zu erteilen. · Hinzugefügtes ListinIT-Verfahren zum Initialisieren eines Vektors oder Matrix. · Verbesserte Kleinmatrix-Klasse. Nun wird es nicht von Genmatrix (oder sogar Basematrix) abgeleitet, wodurch der virtuelle Tisch entfernt wird. Dies beschleunigt sehr viele Berechnungen. Ich habe auch einige Routinen für 2x2- und 3x3-Matrizen spezialisiert, wie det und invers. Der Vorbehalt ist, dass einige Dinge, die mit Smallmatrix verwendet wurden, nicht jetzt sind. Am wichtigsten ist, dass arithmetische Ergebnisse nicht mehr automatisch instanziell werden können. Sie müssen einem Ort, entweder kleinmatrix oder Matrix zugewiesen werden müssen. Ich habe auch alle Division-Routinen teilgenommen, anstatt die regelmäßigen MATRIX-Division-Routinen aufzurufen. · Einige ViewOf-Befehle entfernt, die mit einer anderen Notation klarer sind. · Feste Probleme mit Lapack-Funktionen DSTEGRE und Sstegr. Jetzt kann TMV erkennen, wenn die Spannung der Spannung ausfällt und stattdessen den alternativen Stedc ausführt. · Scons Installationsoption hinzugefügt. · Zusätzliche Fähigkeit, Fortran-Versionen von Blas und Lapack zu verwenden. · Fügen Sie CMAKELISTS.TXT-Dateien für CMAKE-Installationen ein. · Fügen Sie .VCPROJ- und .VCSLN-Dateien für visuelle C ++ - Installationen ein.


Tmv. Zugehörige Software

Ronin PHP.

Eine kostenlose Ronin-Bibliothek, die Ruby-Entwickler unterstützt, unterstützt PHP-Sicherheitsaufgaben ...

192 51 KB

Herunterladen

GP

Eine kostenlose genetische Programmierbibliothek, geschrieben in c ...

64 34 KB

Herunterladen