Seznam numerických knihoven - List of numerical libraries
Toto je seznam pozoruhodný číselné knihovny, což jsou knihovny použito v vývoj softwaru za provedení numerické výpočty. Nejde o úplný seznam, ale o seznam číselných knihoven s články na Wikipedii, až na několik výjimek.
Volba typické knihovny závisí na rozmanité škále požadavků, jako jsou: požadované vlastnosti (např. Velkorozměrná lineární algebra, paralelní výpočet, parciální diferenciální rovnice), komerční / opensource povaha, čitelnost API, přenositelnost nebo závislost platformy / kompilátoru ( například: Linux, Windows, Visual C ++, GCC), rychlostní výkon, snadné použití, nepřetržitá podpora vývojářů, standardní shoda, specializovaná optimalizace v kódu pro konkrétní scénáře aplikace nebo dokonce velikost kódové základny, která má být nainstalován.
Protože najdeme komplexní průzkumy zřídka dostupné, existuje téměř vždy (alespoň zpočátku) obtížná volba mezi řadou možných knihoven. Často to bývá na uvážení uživatele na základě jeho vlastního vkusu a pohodlí, pouze kvůli nedostatek náležitých informací.
Vícejazyčný
- ALGLIB je knihovna numerické analýzy s otevřeným zdrojovým kódem, kterou lze použít v C ++, C #, FreePascal, Delphi, VBA.
- ArrayFire je vysoce výkonná softwarová knihovna s otevřeným zdrojovým kódem pro paralelní výpočty se snadno použitelným API.
- Numerické knihovny IMSL jsou knihovny funkcí numerické analýzy implementované ve standardních programovacích jazycích jako C, Java, C # .NET, Fortran a Python.
- The Knihovna NAG je sbírka matematických a statistických rutin pro více programovacích jazyků (C, C ++, Fortran, Visual Basic, Java, Python a C #) a balíčky (MATLAB, Excel, R, LabVIEW).
- GNU oktáva je otevřený zdrojový programovací jazyk a knihovna na vysoké úrovni, včetně rozhraní příkazového řádku a grafického uživatelského rozhraní, analogicky s komerčními alternativami, jako jsou Maple, MATLAB, Mathematica atd. API, funkce a knihovny lze volat z mnoha platforem, včetně inženýrských programů na vysoké úrovni , kde jsou funkce v mnoha případech plynule interpretovány a integrovány podobným způsobem jako MATLAB. Lze jej také použít s dávkovou orientací.
- librsb je knihovna s otevřeným zdrojovým kódem pro vysoce výkonné výpočty řídké matice poskytující vícevláknové primitivy pro vytváření iterativních řešičů (implementuje také BLAS Standard). Může být použit z C, C ++, Fortranu a vyhrazeného GNU oktáva balík.
C
- BLOPEX (Block Locally Optimal Preconditioned Eigenvalue Xolvers) je open-source knihovna pro škálovatelné (paralelní ) řešení problémů s vlastními čísly.
- FFTW (Fastest Fourier Transform in the West) je softwarová knihovna pro výpočet Fourierových a souvisejících transformací.
- Vědecká knihovna GNU, populární bezplatná knihovna numerické analýzy implementovaná v systému Windows C.
- GNU Multi-Precision Library je knihovna pro práci aritmetika s libovolnou přesností.
- hypre (High Performance Preconditioners) je open-source knihovna z rutiny pro škálovatelné (paralelní ) řešení lineárních systémů a předpodmínění.
- LabWindows / CVI je ANSI C. IDE to zahrnuje vestavěné knihovny pro analýzu nezpracovaných dat měření, generování signálu, okna, funkce filtrů, zpracování signálu, lineární algebra, maticové a komplexní operace, přizpůsobení křivky a statistiky.
- Lis je škálovatelná paralelní knihovna pro řešení systémů lineárních rovnic a problémů vlastních čísel pomocí iteračních metod.
- Intel MKL, Intel Math Kernel Library (v C), knihovna optimalizovaných matematických rutin pro vědu, inženýrství a finanční aplikace, napsaná v C / C ++ a Fortran. Mezi základní matematické funkce patří BLAS, LAPACK, ScaLAPACK, řídké řešiče, rychlé Fourierovy transformace a vektorová matematika.
- Intel IPP
- OpenBLAS je open source implementace BLAS API s mnoha ručně vytvořenými optimalizacemi pro konkrétní typy procesorů. Funguje podobně jako Intel MKL na procesorech Intel a vyšší na různých ostatních.
- Přenosná, rozšiřitelná sada nástrojů pro vědecké výpočty (PETSc), je sada datové struktury a rutiny pro škálovatelné (paralelní ) řešení vědecké aplikace modeled by parciální diferenciální rovnice.
- SLEPc Škálovatelná knihovna pro výpočet problému vlastních čísel je PETSc -na základě open-source knihovna pro škálovatelné (paralelní ) řešení problémů s vlastními čísly.
C ++
- Adept je kombinovaný automatické rozlišení a pole knihovna.
- Knihovna Advanced Simulation je bezplatný a otevřený hardwarově akcelerovaný software pro simulaci multiphysics s OpenCL - interní výpočetní engine.
- ALGLIB je knihovna open source / komerční numerické analýzy s verzí C ++
- Pásovec je knihovna lineární algebry v C ++ (maticová a vektorová matematika) zaměřená na dobrou rovnováhu mezi rychlostí a snadným použitím[1]. Používá třídy šablon a má volitelné odkazy na BLAS a LAPACK. Syntaxe (API ) je podobný MATLAB.
- Blaze je open-source, vysoce výkonná matematická knihovna C ++ pro hustou a řídkou aritmetiku.
- Blitz ++ je vysoce výkonná knihovna vektorové matematiky napsaná v C ++.
- Boost.uBLAS C ++ knihovny pro numerický výpočet
- dohoda. II je knihovna podporující všechna řešení konečných prvků parciálních diferenciálních rovnic.
- Dlib je moderní knihovna C ++ se snadno použitelnou lineární algebrou a optimalizačními nástroji, které těží z optimalizovaných knihoven BLAS a LAPACK.
- Vlastní je knihovna vektorové matematiky s výkonem srovnatelným s Intelem Knihovna matematických jader
- Hermes Project: Knihovna C ++ / Python pro rychlé prototypování řešitelů hp-FEM adaptivních na časoprostor a časoprostor.
- IML ++ je knihovna C ++ pro řešení lineárních systémů rovnic, schopná pracovat s hustými, řídkými a distribuovanými maticemi.
- IT ++ je knihovna C ++ pro lineární algebru (matice a vektory), zpracování signálu a komunikaci. Funkčnost podobná MATLABu a Octave.
- LAPACK ++, C ++ obalová knihovna pro LAPACK a BLAS
- MFEM je bezplatná, lehká a škálovatelná knihovna C ++ pro metody konečných prvků.
- Intel MKL, Intel Math Kernel Library (v C a C ++), knihovna optimalizovaných matematických rutin pro vědu, inženýrství a finanční aplikace, napsaná v C / C ++ a Fortran. Mezi základní matematické funkce patří BLAS, LAPACK, ScaLAPACK, řídké řešiče, rychlé Fourierovy transformace a vektorová matematika.
- mlpack je knihovna open-source pro strojové učení, využívající funkce jazyka C ++ k zajištění maximálního výkonu a flexibility při poskytování jednoduchého a konzistentního API
- MTL4 je obecný C ++ knihovna šablon poskytující řídké a husté funkce BLAS. MTL4 zavádí intuitivní rozhraní (podobně jako MATLAB ) a široká použitelnost díky Generické programování.
- The Knihovna NAG má C ++ API
- NTL je knihovna C ++ pro teorii čísel.
- Trilinos je snaha vyvinout algoritmy a umožňující technologie pro řešení rozsáhlých, komplexních multifyzikálních inženýrských a vědeckých problémů. Je to sbírka balíčky.
Delphi
- Analytika a fyzika: komerční knihovny Delphi pro symbolické a numerické výpočty (včetně symbolických derivátů) a práci s fyzickými hodnotami a jednotkami měření.
- ALGLIB - knihovna numerické analýzy s otevřeným zdrojovým kódem.
Jazyky .NET Framework C#, F#, VB.NET a PowerShell
- Accord.NET je sbírka knihoven pro vědecké výpočty, včetně numerické lineární algebry, optimalizace, statistik, umělých neuronových sítí, strojového učení, zpracování signálu a počítačového vidění. LGPLv3, částečně GPLv3.
- AForge.NET je knihovna počítačového vidění a umělé inteligence. Implementuje řadu algoritmů genetické, fuzzy logiky a strojového učení s několika architekturami umělých neuronových sítí s odpovídajícími tréninkovými algoritmy. LGPLv3 a částečně GPLv3.
- ALGLIB je otevřená knihovna numerické analýzy s verzí C #. Duální licence: GPLv2 +, komerční licence.
- ILNumerics.Net Komerční vysoký výkon, typicky bezpečné číselné pole a funkce pro obecnou matematiku, FFT a lineární algebru, zaměřuje se na .NET / mono, 32 a 64 bitů, skriptovou syntaxi v C #, 2D a 3D vykreslování, efektivní správu paměti.
- Numerické knihovny IMSL mít verzi C # (komerčně licencovanou). IMSL .Net oznámily konec životnosti na konci roku 2020.
- Math.NET Numerics si klade za cíl poskytnout metody a algoritmy pro numerické výpočty ve vědě, strojírenství a při každodenním používání. Pokrytá témata zahrnují speciální funkce, lineární algebru, modely pravděpodobnosti, náhodná čísla, interpolace, integrální transformace a další. Svobodný software s licencí MIT / X11.
- Měřicí studio je komerční integrovaná sada ovládacích prvků uživatelského rozhraní a knihoven tříd pro použití při vývoji testovacích a měřicích aplikací. Knihovny tříd analýzy poskytují různé digitální zpracování signálů, filtrování signálů, generování signálů, detekci špiček a další obecné matematické funkce.
- ML.NET je svobodný software strojové učení knihovna pro C# programovací jazyk.[2][3]
- The Knihovna NAG má C # API. Komerčně licencováno.
- NMath podle Software CenterSpace: Komerční knihovny numerických komponent pro platformu .NET, včetně tříd zpracování signálu (FFT), rámce lineární algebry (LAPACK & BLAS) a statistického balíčku.
Fortran
- BLAS (Základní podprogramy lineární algebry) je de facto aplikační programovací rozhraní standard pro vydávání knihoven provádět základní lineární algebra operace jako vektor a násobení matic.
- CERNLIB je sbírka FORTRAN 77 knihovny a moduly.
- EISPACK je softwarová knihovna pro numerický výpočet z vlastní čísla a vlastní vektory matic[4], napsáno v FORTRAN. Obsahuje podprogramy pro výpočet vlastních čísel devíti tříd třídy matice: komplexní obecný, komplexní Hermitian, skutečný obecný, skutečný symetrický, skutečný symetrický svázaný, reálné symetrické tridiagonální, speciální skutečné tridiagonální, zobecněné reálné a zobecněné skutečné symetrické matice.
- Numerické knihovny IMSL jsou multiplatformní knihovny obsahující ucelenou sadu matematických a statistických funkcí, které lze vložit do uživatelské aplikace.
- Knihovna podprogramů Harwell je sbírka Fortran 77 a 95 kódů, které řeší základní problémy v numerické analýze.
- LAPACK[5][6], BALÍČEK lineární algebry, je softwarová knihovna pro numerické výpočty původně napsáno v FORTRAN 77 a nyní napsáno Fortran 90.
- LINPACK je software knihovna pro provádění numerických lineární algebra na digitálních počítačích[7][8][9]. Bylo to napsáno Fortran podle Jack Dongarra Jim Bunch, Cleve Moler a Pete Stewart a byl určen pro použití na superpočítače v 70. a začátku 80. let. To bylo do značné míry nahrazeno LAPACK, který bude fungovat efektivněji na moderních architekturách.
- Lis je škálovatelná paralelní knihovna pro řešení systémů lineárních rovnic a problémů vlastních čísel pomocí iteračních metod.
- MINIPACK je knihovna FORTRAN podprogramy pro řešení soustav nelineárních rovnic, nebo nejmenší čtverce minimalizace zbytku souboru lineární nebo nelineární rovnice.
- The Knihovna NAG Fortran je sbírka matematických a statistických rutin pro Fortran.
- NOVAS je softwarová knihovna pro numerické výpočty související s astrometrií. Oba Fortran a C verze jsou k dispozici.
- Netlib je úložiště vědeckého výpočetního softwaru, které obsahuje velké množství samostatných programů a knihoven včetně BLAS, EISPACK, LAPACK a další.
- TLAPKA je zdarma analýza dat balíček vyvinutý v CERN.
- Přenosná, rozšiřitelná sada nástrojů pro vědecké výpočty (PETSc), je sada datové struktury a rutiny pro škálovatelné (paralelní ) řešení vědecké aplikace modeled by parciální diferenciální rovnice.
- QUADPACK je FORTRAN 77 knihovna pro numerická integrace jednorozměrných funkcí
- SLATEC je FORTRAN 77 knihovna více než 1400 obecných matematických a statistických rutin.
- GAUČ je kolekce podprogramů, které implementují oficiální IAU algoritmy pro astronomický výpočty. Oba Fortran a C verze jsou k dispozici.
- ARPACK je kolekce podprogramů Fortran77 určených k řešení rozsáhlých problémů s vlastními čísly.
Jáva
- ND4J je open-source knihovna, která podporuje n-dimenzionální (ND) pole, podobně jako NumPy. Běží na distribuované GPU nebo CPU napříč platformami a využívá Spark pro paralelní výpočet. Podporuje hluboké učení knihovna Deeplearning4j.
- Apache Commons, je open-source pro vytváření opakovaně použitelných komponent Java. Má numerické balíčky pro lineární algebru a nelineární optimalizaci.
- Hříbě poskytuje sadu knihoven s otevřeným zdrojovým kódem pro vysoce výkonné vědecké a technické výpočty.
- Efektivní knihovna Java Matrix Library (EJML) je open-source knihovna lineární algebry pro manipulaci s hustými maticemi.
- JAMA, číselné lineární algebra sada nástrojů pro Programovací jazyk Java. Od roku 2005 nedošlo k žádnému aktivnímu vývoji, ale stále je to jeden z nejoblíbenějších balíčků lineární algebry v Javě.
- Jblas: Lineární algebra pro Javu, knihovna lineární algebry, která je snadno použitelnou obálkou BLAS a LAPACK.
- jDSP, knihovna nástrojů pro zpracování digitálních signálů napsaná v Javě, zaměřená na poskytování funkcí dostupných v balíčku scipy-signal pro Python.
- Parallel Colt je knihovna s otevřeným zdrojovým kódem pro vědecké výpočty. Paralelní rozšíření Hříbě.
- Matrix Toolkit Java je knihovna lineární algebry založená na BLAS a LAPACK.
- ojAlgo je open source knihovna Java pro matematiku, lineární algebru a optimalizaci.
- exp4j je malý Jáva knihovna pro hodnocení matematických výrazů.
Scala
- ND4S je vědecká výpočetní knihovna pro Scala, která zahrnuje podporu pro n-dimenzionální pole na JVM.
Perl
- Datový jazyk Perl dává standardnímu Perlu schopnost kompaktně ukládat a rychle manipulovat s velkými N-dimenzionální datová pole.
Krajta
- NumPy (dřívější číselné), knihovna s licencí BSD, která přidává podporu pro manipulaci s velkými vícerozměrnými poli a maticemi; zahrnuje také velkou sbírku matematických funkcí na vysoké úrovni. NumPy slouží jako páteř pro řadu dalších numerických knihoven, zejména SciPy. De facto standard pro maticové / tenzorové operace v Pythonu.
- Pandy knihovna pro manipulaci a analýzu dat.
- SageMath je velká matematická softwarová aplikace, která integruje práci téměř 100 svobodný software navrhuje a podporuje lineární algebru, kombinatoriku, numerickou matematiku, počet a další[10].
- SciPy[11][12][13], velká knihovna vědeckých nástrojů s licencí BSD. De facto standard pro vědecké výpočty v Pythonu.
- ScientificPython, knihovna s jinou sadou vědeckých nástrojů
- SymPy, knihovna založená na Nové licenci BSD pro symbolické výpočty. Vlastnosti Sympy sahají od základní symbolické aritmetiky po kalkul, algebru, diskrétní matematiku a kvantovou fyziku.
Ostatní
- XNUMBERS - Přesné výpočty s plovoucí desetinnou čárkou a numerické metody pro Microsoft Excel.
- INTLAB — Intervalová aritmetika knihovna pro MATLAB[14][15][16][17].
Viz také
- Porovnání systémů počítačové algebry
- Porovnání softwaru pro numerickou analýzu
- Seznam grafického softwaru
- Seznam softwaru pro numerickou analýzu
- Seznam optimalizačního softwaru
- Seznam statistických balíčků
Reference
- ^ Sanderson, C., & Curtin, R. (2016). Pásovec: knihovna C ++ založená na šabloně pro lineární algebru. Journal of Open Source Software, 1 (2), 26.
- ^ David Ramel (08.05.2018). „Open Source, Cross-Platform ML.NET Simplifies Machine Learning - Visual Studio Magazine“. Časopis Visual Studio. Citováno 2018-05-10.
- ^ Kareem Anderson (09.05.2017). „Microsoft představuje platformu strojového učení pro více platforem ML.NET“. Na MSFT. Citováno 2018-05-10.
- ^ Smith, B. T., Boyle, J. M., Garbow, B. S., Ikebe, Y., Klema, V. C., & Moler, C. B. (2013). Rutiny maticového vlastního systému - průvodce EISPACK (svazek 6). Springer.
- ^ Anderson, E., Bai, Z., Bischof, C., Blackford, S., Dongarra, J., Du Croz, J., ... & Sorensen, D. (1999). Uživatelská příručka LAPACK (svazek 9). SIAM.
- ^ Demmel, J. (1989, prosinec). LAPACK: Přenosná knihovna lineární algebry pro superpočítače. V IEEE Control Systems Society Workshop on Computer-Aided Control System Design (str. 1-7). IEEE.
- ^ Dongarra, J. J., Moler, C. B., Bunch, J. R., & Stewart, G. W. (1979). Uživatelská příručka LINPACK. Společnost pro průmyslovou a aplikovanou matematiku.
- ^ Dongarra, J. J., Luszczek, P., & Petitet, A. (2003). Benchmark LINPACK: minulost, přítomnost a budoucnost. Souběžnost a výpočet: praxe a zkušenosti, 15 (9), 803-820.
- ^ Dongarra, J. J. (1987, červen). Benchmark LINPACK: Vysvětlení. In International Conference on Supercomputing (pp. 456-474). Springer, Berlín, Heidelberg.
- ^ Zimmermann, P., Casamayou, A., Cohen, N., Connan, G., Dumont, T., Fousse, L., ... & Bray, E. (2018). Výpočetní matematika se SageMath. SIAM.
- ^ Jones, E., Oliphant, T., & Peterson, P. (2001). SciPy: Open source vědecké nástroje pro Python.
- ^ Bressert, E. (2012). SciPy a NumPy: přehled pro vývojáře. „O'Reilly Media, Inc.“.
- ^ Blanco-Silva, F. J. (2013). Učení SciPy pro numerické a vědecké výpočty. Packt Publishing Ltd.
- ^ S.M. Kýta: INTLAB - INTervální laboratoř. In Tibor Csendes, editor, Developments in Reliable Computing, pages 77–104. Kluwer Academic Publishers, Dordrecht, 1999.
- ^ Moore, R. E., Kearfott, R. B., & Cloud, M. J. (2009). Úvod do intervalové analýzy. Společnost pro průmyslovou a aplikovanou matematiku.
- ^ Rump, S. M. (2010). Metody ověřování: Přísné výsledky pomocí aritmetiky s plovoucí desetinnou čárkou. Acta Numerica, 19, 287–449.
- ^ Hargreaves, G. I. (2002). Intervalová analýza v MATLAB. Numerické algoritmy, (2009.1).
externí odkazy
- Matematické fórum - matematické knihovny, rozsáhlý seznam matematických knihoven s krátkými popisy