Colt (knihovny) - Colt (libraries)

Hříbě
Původní autořiNIST
Stabilní uvolnění
1.2.0 / 9. září 2004 (2004-09-09)
Operační systémCross-platform
TypKnihovna
LicenceCERN a LGPL
webová stránkaacs.lbl.gov/software/hříbě/

Hříbě je sada open-source Knihovny pro vysoce výkonné vědecké a technické výpočty napsané v Jáva a vyvinut v CERN. Colt byl vyvinut se zaměřením na fyziku vysokých energií, ale je použitelný pro mnoho dalších problémů. Colt byl naposledy aktualizován v roce 2004 (kdy byla aktuální verzí Java 1.4) a jeho kódová základna byla začleněna do Parallel Colt kódová základna, která získala novější vývoj.

Colt poskytuje infrastrukturu pro škálovatelné vědecké a technické výpočty v Javě. Je zvláště užitečný v oblasti fyziky vysokých energií v CERNu. Obsahuje mimo jiné efektivní a použitelné datové struktury a algoritmy pro off-line a on-line analýzu dat, lineární algebru, vícerozměrná pole, statistiku, histogram, simulaci Monte Carlo, paralelní a souběžné programování. Přivolává některé z nejlepších konceptů, návrhů a implementací, které komunita v průběhu času vymyslela, portuje nebo vylepšuje a zavádí nové přístupy tam, kde je potřeba.

Schopnosti

Následuje přehled schopností společnosti Colt, jak jsou uvedeny na webových stránkách projektu:[1]

VlastnostiPopis
Šablony a mapyDynamická změna velikosti seznamů obsahujících objekty nebo primitivní datové typy, například int, double atd. Operace s primitivními poli, algoritmy na seznamech Colt a algoritmy JAL (viz níže) lze libovolně kombinovat při režii nulové kopie. Více informací. Automaticky rostoucí a zmenšující se mapy obsahující objekty nebo primitivní datové typy, jako jsou int, double atd.
Šablony vícerozměrných maticHusté a řídké pevné velikosti (neměnící se) 1,2, 3 a d-rozměrné matice obsahující objekty nebo primitivní datové typy, jako jsou int, double atd .; Také známý jako vícerozměrná pole nebo datové kostky.
Lineární algebraStandardní maticové operace a rozklady. LU, QR, Cholesky, vlastní hodnota, singulární hodnota.
HistogramováníKompaktní, rozšiřitelná, modulární a výkonná funkce histogramování. AIDA nabízí histogramové funkce HTL a HBOOK.
MatematikaNástroje pro základní a pokročilou matematiku: Aritmetika a algebra, Polynomy a Čebyševovy řady, Besselovy a vzdušné funkce, Konstanty a jednotky, trigonometrické funkce atd.
StatistikaNástroje pro základní a pokročilé statistiky: Odhady, Gamma funkce, Beta funkce, Pravděpodobnosti, Speciální integrály atd.
Náhodná čísla a náhodné vzorkováníSilný, ale rychlý. Částečně port CLHEP.
util.concurrentEfektivní třídy nástrojů, se kterými se běžně setkáváme v paralelním a souběžném programování.

Příklad použití

Příklad rozkladu singulární hodnoty (SVD):

SingularValueDecomposition s = Nový SingularValueDecomposition(matA);DoubleMatrix2D U = s.getU();DoubleMatrix2D S = s.getS();DoubleMatrix2D PROTI = s.getV();

Příklad násobení matic:

Algebra alg = Nový Algebra();DoubleMatrix2D výsledek = alg.mult(matA,matB);

Reference

  1. ^ „Stránka projektu Colt“. Hříbě. Citováno 15. června 2013.