TMV

Sjabloonmatrix / vectorbibliotheek voor C ++
Download nu

TMV Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • GPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • Mike Jarvis
  • Uitgever website:
  • Besturingssystemen:
  • Mac OS X
  • Bestandsgrootte:
  • 1.7 MB

TMV Tags


TMV Beschrijving

Sjabloon matrix / vectorbibliotheek voor C ++ TMV is een gratis en open source lineaire algebra-bibliotheek die gebruik maakt van operatoroverbelasting, opvattingen en vertraagde evaluatie om vector- en matrixuitdrukkingen in C ++ te vereenvoudigen. TMV is goed gedocumenteerd en kan optioneel geoptimaliseerd blas / lapack bellen voor snellere uitvoeringstijden. Hier zijn enkele belangrijke kenmerken van "TMV": · Operator overbelasting: een uitdrukking zoals v2 = x * m * v1 moet correcte en snelle code produceren. (Geen tijdschalen) · Complexe typen: mengcomplex en echte typen in een rekenkundige verklaring moeten legaal zijn. · Ontleding: Divisie moet betekenen dat een matrixvergelijking wordt opgelost, automatisch een LU, QR, Cholky of Singular Value Decomposition uitgevoerd om dit te doen. · Snelheid: de code moet snel zijn voor grote matrices. Meestal betekent dit het bellen van Blas- en Lapack-routines achter de schermen. · Uitgestelde evaluatie: (aka luie evaluatie) De uitdrukking v2 = x * m * v1 bijvoorbeeld inlijnen rechtstreeks op multmv (x, m, v1, v2), wat de daadwerkelijke berekening doet, dus er is geen prestaties van de leesbaarheid van de operators. · Sjablonen: zoals de naam TMV aangeeft, is het type van de elementen in een vector of matrix een sjabloon. U kunt dus matrix, matrix, matrix of zelfs een door de gebruiker gedefinieerd type gebruiken (bijv. Quad voor ongeveer 16 byte quad-precisie klasse) matrix. · Bekeken: er zijn zowel constante als een veranderingen in een vector of matrix. Dus uitdrukkingen zoals M.row (3) + = 4. * M.ROW (0) en M2 * = m.transpose () doen de voor de hand liggende dingen. · Matrix-divisie: de expressie x = b / a kan worden gebruikt om de matrix-vergelijking bijl = b op te lossen. Besturingsmethoden voor A kunnen worden gebruikt om te vertellen welke ontbinding te gebruiken om de oplossing te vinden. Er zijn ook controles om de ontbinding op te slaan voor later herhaaldelijk gebruik, en zelfs om de ontbinding op zijn plaats te doen om op opslag te sparen. · Flexibele opslag: een matrix kan elke rij-major of kolom-major worden verklaard. Bandmatrices laten ook diagonale grote opslag toe. · Flexibele indexering: u kunt aangeven dat u een matrix wilt openen met behulp van de normale C Convention (0-gebaseerde indexering) of het Fortran Convention (1-gebaseerde indexering). · Aliascontrole: veel matrixpakketten berekenen m * = m verkeerd. TMV controleert automatisch of twee objecten in een berekening dezelfde opslag gebruiken en indien nodig tijdelijkheden creëren. Het controleert alleen het adres van het eerste element, zodat u nog steeds kunt verprutsen. Maar meestal is dit goed genoeg. · Blas / Lapack: de bibliotheek kan worden gecompileerd om Blas en / of Lapack-routines te bellen. Maar als u ze niet hebt, zal de interne code ook werken. De meeste interne algoritmen zijn zo snel als Lapack. Maar geoptimaliseerde BLAS-routines zijn over het algemeen aanzienlijk sneller. Dus het compileren met ten minste een BLAS-bibliotheek wordt aanbevolen als de snelheid belangrijk voor u is. Wat is er nieuw in deze release: · Corrigeerde een fout met M.Divisset (); · Corrigeerde de documentatie met betrekking tot de toegang van M.SVD (), vooral dat S nu een diagmatrix is, in plaats van een vector. · Gewijzigd gedrag van methoden zoals M.SVD (). Nu, als SV niet al is ingesteld, dan zal het deze in plaats van een fout geven. · Listinit-methode toegevoegd voor het initialiseren van een vector of matrix. · Verbeterde SmallMatrix-klasse. Nu is het niet afgeleid van Genmatrix (of zelfs Basematrix), waardoor de virtuele tafel wordt verwijderd. Dit versnelt veel berekeningen. Ik heb ook enkele routines gespecialiseerd voor 2x2 en 3x3 matrices, zoals DET en omgekeerd. De waarschuwing is dat sommige dingen die mogelijk waren met SmallMmatrix nu niet zijn. Het belangrijkste is dat rekenkundige resultaten niet meer kunnen worden geïnstantieerd. Ze moeten worden toegewezen aan een locatie, ofwel smallmatrix of matrix. Ik heb ook alle divisie-routines ingeschakeld, in plaats van de reguliere matrix divisieroutines te bellen. · Verwijderde enkele view-of-opdrachten die duidelijker zijn met een andere notatie. · Vaste problemen met Lapack-functies DSTEG en SSTEG. Nu kan TMV detecteren wanneer STEG in plaats daarvan de alternatieve STEDC kan uitvoeren. · Toegevoegd Scons Installation-optie. · Voegt het vermogen om Fortran-versies van Blas en Lapack te gebruiken. · Neem CMAKELISTS.TXT-bestanden op voor cmake-installaties. · Omvat .VCPROJ en .VCSLN-bestanden voor Visual C ++ -installaties.


TMV Gerelateerde software

Camlpdf

OCAML-bibliotheek voor het lezen, schrijven en manipuleren van Adobe Portable Documentbestanden ...

166 286 KB

Downloaden

MPEGSPLIT

Gratis en open source-bibliotheek die u zal helpen bij het splitsen van MPEG-bestanden ...

136 120 KB

Downloaden

has

Gratis en Open Source Process-gebaseerde Discrete Event Simulation Library ...

169 12 KB

Downloaden