A NumPy 2.0.0 Python könyvtár kiadása tudományos számításokhoz

Megjelent a NumPy 2.0.0 Python-könyvtár, amely a multidimenzionális tömbök és mátrixok kezelésére összpontosít, és széles funkcionalitással rendelkezik, különböző algoritmusok megvalósítására a mátrixok használatával kapcsolatban. A NumPy az egyik legkeresettebb könyvtár tudományos számításokhoz. A projekt kódja Python nyelven íródott, C nyelvi optimalizálásokkal, és BSD licenc alatt terjesztik.

A NumPy 2.0.0 az első jelentős kiadás 2006 óta.
Az új verzióban, a teljesítményoptimalizálás mellett, az ABI, Python API és C-API változásait is bevezették, amelyek megsértik a hátrafelé kompatibilitást. Például a NumPy 1.x verzióval összeállított SciPy könyvtár, amely a NumPy 2.0-val való működéshez szükséges, újrafordítást igényel. Bizonyos esetekben a NumPy 2.0 alkalmazásokban való használatához a kód módosítása is szükséges lehet.

A legjelentősebb változás a skaláris kifejezések pontosságának kezelésével kapcsolatos, például a „np.float32(3) + 3” most float32 típust ad vissza, nem pedig float64-t, és több típus esetén az eredmény típusát a legnagyobb pontosságú típus határozza meg, tehát a „np.array([3], dtype=np.float32) + np.float64(3)” float64 típust ad vissza. A Windows platformon az alapértelmezett egész számú típusok megváltoztak — 64-bites rendszereken 64-bites egész típus használatos, míg 32-bites rendszereken 32-bites (korábban C típusú long megfelelője volt, most pedig np.intp).

Néhány definíciót átírtak vagy eltávolítottak a C-API-ban, például a PyArray_Descr struktúra megváltozott. A maximális dimenziók és paraméterek száma, amelyet az NPY_MAXDIMS és NPY_MAXARGS makrók állítanak be, 64-re növekedett. Minden komplex típus az alapértelmezett C99 típusok (cfloat_t, cdouble_t, clongdouble_t) használatára váltott. Új C API-t adtak hozzá saját dtype-ok létrehozásához. Új, leegyszerűsített inicializáló funkciókat javasoltak, például a PyArray_ImportNumPyAPI és PyUFunc_ImportUFuncAPI.

A Python API-ban egyértelműbb különbséget biztosítanak a nyilvános és privát API között, új modulstruktúra került bevezetésre. Körülbelül 100 funkciót, modult és konstansot távolítottak el a fő névtérből, az „np”-ből, elavultnak nyilvánították vagy eltávolították.
Tisztított névtér np.lib. Az alap névtérben lévő objektumok száma 10%-kal, míg a numpy.lib névtérben 80%-kal csökkent. A numpy.core névtérbe privát névterekké vált. Néhány metódust eltávolítottak az np.ndarray és np.generic osztályokból. Új numpy.stringsf névtér jött létre, amely karakterlánc műveleteket tartalmaz.

Az új lehetőségek közé tartozik a float32 és longdouble típusok támogatása az összes numpy.fft funkcióban, a fő névtérben található standard API Array támogatása, új névtér és típusok változó hosszúságú karakterláncokhoz. Teljesítményoptimalizálás valósult meg az Intel x86-simd-sort és Google Highway könyvtárak használatával a sort, argsort, partition és argpartition karakterlánc funkciókhoz, gyorsították a fix hosszúságú karakterlánc műveleteket a numpy.char modulban. Új API került bevezetésre.
opt_func_info az nyomozás és introspektálás érdekében.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster