nemotorný | |
---|---|
Typ | Knihovna Pythonu [d] a matematický software [d] |
Autor | Travis Oliphant [d] |
Vývojář | Travis Oliphant [d] |
Zapsáno v | Python , C [2] a Fortran |
Operační systém | Operační systém podobný Unixu , macOS a Microsoft Windows |
První vydání | 1995 |
Nejnovější verze | 1.23.0 [1] ( 23. června 2022 ) |
Čitelné formáty souborů | NumPy data [d] |
Vygenerované formáty souborů | NumPy data [d] |
Licence | upravená licence BSD [d] [3] |
webová stránka | numpy.org _ |
Mediální soubory na Wikimedia Commons |
NumPy (zkratka pro Numerical Python ) je open source knihovna pro programovací jazyk Python . Schopnosti:
Matematické algoritmy implementované v interpretovaných jazycích (např. Python) jsou často mnohem pomalejší než stejné algoritmy implementované v kompilovaných jazycích (např . Fortran , C , Java ). Knihovna NumPy poskytuje implementace výpočetních algoritmů (ve formě funkcí a operátorů), které jsou optimalizovány pro práci s vícerozměrnými poli. Výsledkem je, že jakýkoli algoritmus, který lze vyjádřit jako posloupnost operací na polích (maticích) a implementovat pomocí NumPy, je stejně rychlý jako ekvivalentní kód běžící v MATLABu [4] .
NumPy lze považovat za bezplatnou alternativu k MATLABu. Programovací jazyk MATLAB povrchně připomíná NumPy: oba jsou interpretovány, oba umožňují provádět operace s poli (maticemi) a nikoli se skaláry . Výhodou MATLABu je přítomnost velkého množství balíčků („toolboxů“), například Simulink . Pro NumPy existují podobné "balíčky", například knihovna SciPy poskytuje více funkcí jako MATLAB, knihovna Matplotlib umožňuje vytvářet grafy ve stylu MATLAB. Jak MATLAB, tak NumPy používají kód založený na kódu v knihovně LAPACK k řešení základních problémů lineární algebry .
Podívejme se na příklad práce s NumPy v interaktivním shellu IPython .
Spuštění Pythonu z příkazového řádku:
ipython -pylabKód:
x = řádkový prostor ( 0 , 2 * pi , 100 ) y = sin ( x ) plot ( x , y , 'ro-' ) show ()V důsledku skriptu knihovna Matplotlib vytvoří graf zobrazený na obrázku.
V roce 1995 napsal programátor Jim Hugunin knihovnu Numeric Python. Knihovna se vyvíjela s pomocí mnoha lidí, včetně Jima Fultona, Davida Aschera, Paula DuBoise a Konrada Hinsena. Knihovna je k dispozici dodnes, je považována za vcelku stabilní a kompletní, avšak zastaralou.
Numeric byl navržen, aby byl přidán do standardní knihovny Pythonu, ale Guido Van Rossum (autor Pythonu) jasně řekl, že kód v tehdejším stavu byl neudržitelný.
Číselná knihovna navíc zpracovávala velké množství dat pomalu.
Na základě knihovny Numeric byla vytvořena knihovna NumArray. Číselný kód byl zcela přepsán.
Knihovna NumArray zpracovávala velká pole dat rychleji než knihovna Numeric, ale zpracovávala malá pole pomaleji.
Nějakou dobu se používaly jak knihovna Numeric, tak knihovna NumArray. Nejnovější verze Numeric (v24.2) byla vydána 11. listopadu 2005 . Nejnovější verze NumArray (v1.5.2) byla vydána 24. srpna 2006 [5] . Knihovnu NumArray již není doporučeno používat [6] .
Na začátku roku 2005 chtěl programátor Travis Oliphant sjednotit komunitu kolem jednoho projektu a vytvořil knihovnu NumPy, která by nahradila knihovny Numeric a NumArray. NumPy byl vytvořen z číselného kódu. Číselný kód byl přepsán, aby se snáze udržoval a do knihovny lze přidávat nové funkce. Do NumPy byly přidány funkce NumArray.
NumPy byl původně součástí knihovny SciPy. Aby mohly jiné projekty používat knihovnu NumPy, byl její kód umístěn do samostatného balíčku.
Zdrojový kód NumPy je ve veřejné doméně. Existuje velké množství dokumentace. Existuje dokonce i podrobný „ Průvodce NumPy “ [7] .
NumPy v1.3.0 byl vydán 5. dubna 2009 a podporuje Python v2.6 [8] . Od verze 1.5.0 byla přidána podpora pro Python v3.
Krajta | |
---|---|
Společenství | |
Implementace | |
jiný |
|