Objavljena NumPy Scientific Computing Python Library 2.0.0

Dostupno je izdanje Python biblioteke za naučno računarstvo NumPy 2.0.0, fokusirano na rad sa višedimenzionalnim nizovima i matricama, a takođe pruža veliku kolekciju funkcija sa implementacijom različitih algoritama vezanih za upotrebu matrica. NumPy je jedna od najpopularnijih biblioteka koja se koristi za naučne proračune. Projektni kod je napisan u Python-u korištenjem optimizacija u C-u i distribuira se pod BSD licencom.

NumPy 2.0.0 označava prvo značajno izdanje od 2006. godine.
Pored novih funkcija i optimizacije performansi, nova verzija uključuje promjene u ABI-ju, Python API-ju i C-API-ju koje razbijaju kompatibilnost unatrag. Na primjer, biblioteka SciPy kompajlirana sa NumPy 1.x će zahtijevati ponovnu kompilaciju da bi radila sa NumPy 2.0. U nekim slučajevima mogu biti potrebne promjene koda za korištenje NumPy 2.0 u aplikacijama.

Najznačajnija greška se odnosi na očuvanje preciznosti skalarnih izraza, na primjer, "np.float32(3) + 3" će sada vraćati vrijednost tipa float32, a ne float64, a u izrazima s više tipova, za rezultat će se koristiti tip s najvećom preciznošću, tj. "np.array([3], dtype=np.float32) + np.float64(3)" će vratiti vrijednost tipa float64. Zadani cjelobrojni tipovi koji se koriste na platformi su promijenjeni. Windows — na 64-bitnim sistemima sada se koristi 64-bitni integer tip, a na 32-bitnim sistemima 32-bitni tip (ranije se koristio analogni C-tip long, ali sada ekvivalent np.intp).

Neke definicije u C-API-ju su zamijenjene ili uklonjene, na primjer, struktura PyArray_Descr je promijenjena. Maksimalan broj dimenzija i argumenata postavljenih kroz NPY_MAXDIMS i NPY_MAXARGS makroa je povećan na 64. Svi kompleksni tipovi su prebačeni na korištenje standardnih tipova iz C99 specifikacije (cfloat_t, cdouble_t, clongdouble_t). Dodan novi C API za kreiranje prilagođenih dtipova. Predložene su nove pojednostavljene funkcije inicijalizacije PyArray_ImportNumPyAPI i PyUFunc_ImportUFuncAPI.

Python API pruža eksplicitnije razdvajanje između javnih i privatnih API-ja i uvodi novu strukturu modula. Oko 100 funkcija, modula i konstanti je premešteno iz glavnog "np" imenskog prostora, zastarelo ili uklonjeno.
Očistio imenski prostor np.lib. Broj objekata u glavnom imenskom prostoru smanjen je za 10%, au imenskom prostoru numpy.lib za 80%. Imenski prostor numpy.core je premješten u privatni. Uklonjene su neke metode iz klasa np.ndarray i np.generic. Kreirao novi prostor imena numpy.stringsf sa string operacijama.

Nove karakteristike uključuju podršku za float32 i longdouble tipove u svim funkcijama numpy.fft, podršku za standardni Array API u glavnom imenskom prostoru, novi prostor imena i tipove za nizove promjenjive dužine. Optimizacija performansi je izvršena korištenjem Intel x86-simd-sort i Google Highway biblioteka za string funkcije sort, argsort, partition i argpartition, ubrzane su operacije sa fiksnim stringovima u modulu numpy.char. Dodan novi API
opt_func_info za praćenje i introspekciju.

izvor: opennet.ru

Kupite pouzdan hosting za sajtove sa DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster