Objavljena knjižnica NumPy Scientific Computing Python 2.0.0

Dostupno je izdanje knjižnice Python za znanstveno računalstvo NumPy 2.0.0, usmjereno na rad s višedimenzionalnim nizovima i matricama, a također pruža veliku kolekciju funkcija s implementacijom različitih algoritama povezanih s upotrebom matrica. NumPy je jedna od najpopularnijih biblioteka koja se koristi za znanstvene izračune. Kôd projekta napisan je u Pythonu korištenjem optimizacija u C-u i distribuira se pod BSD licencom.

NumPy 2.0.0 predstavlja prvo značajno izdanje od 2006.
U novoj verziji, uz nove značajke i optimizacije performansi, unesene su promjene u ABI, Python API i C-API, koje narušavaju povratnu kompatibilnost. Na primjer, biblioteka SciPy kompajlirana s NumPy 1.x zahtijevat će ponovnu kompilaciju za rad s NumPy 2.0. U nekim slučajevima mogu biti potrebne promjene koda za korištenje NumPy 2.0 u aplikacijama.

Najznačajnija greška povezana je s očuvanjem preciznosti skalarnih izraza, na primjer, "np.float32(3) + 3" sada će 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 sustavima sada se koristi 64-bitni cijeli broj, a na 32-bitnim sustavima 32-bitni tip (prije se koristio analogni C-tip long, ali sada ekvivalent np.intp).

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

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

Nove značajke uključuju podršku za tipove float32 i longdouble u svim funkcijama numpy.fft, podršku za standardni Array API u glavnom prostoru imena, novi prostor imena i tipove za nizove promjenjive duljine. Optimizacija performansi provedena je pomoću biblioteka Intel x86-simd-sort i Google Highway za string funkcije sort, argsort, partition i argpartition, operacije s fiksnim nizovima u modulu numpy.char su ubrzane. Dodan novi API
opt_func_info za praćenje i introspekciju.

Izvor: opennet.ru

Kupite pouzdan hosting za stranice s DDoS zaštitom, VPS VDS poslužiteljima 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster