Izdana knjižnica NumPy Scientific Computing Python Library 2.0.0

Na voljo je izdaja knjižnice Python za znanstveno računalništvo NumPy 2.0.0, ki je osredotočena na delo z večdimenzionalnimi nizi in matrikami ter ponuja tudi veliko zbirko funkcij z implementacijo različnih algoritmov, povezanih z uporabo matrik. NumPy je ena najbolj priljubljenih knjižnic, ki se uporabljajo za znanstvene izračune. Projektna koda je napisana v Pythonu z uporabo optimizacij v C in se distribuira pod licenco BSD.

NumPy 2.0.0 je prva pomembna izdaja po letu 2006.
Poleg novih funkcij in optimizacij delovanja nova različica vključuje spremembe ABI, Python API in C-API, ki prekinejo združljivost za nazaj. Na primer, knjižnica SciPy, prevedena z NumPy 1.x, bo za delo z NumPy 2.0 zahtevala ponovno prevajanje. V nekaterih primerih bodo morda potrebne spremembe kode za uporabo NumPy 2.0 v aplikacijah.

Najpomembnejša napaka je povezana z ohranjanjem natančnosti skalarnih izrazov, na primer "np.float32(3) + 3" bo zdaj vrnil vrednost tipa float32, ne float64, v izrazih z več tipi pa bo za rezultat uporabljen tip z najvišjo natančnostjo, tj. "np.array([3], dtype=np.float32) + np.float64(3)" bo vrnil vrednost tipa float64. Privzeti celoštevilski tipi, ki se uporabljajo na platformi, so bili spremenjeni. Windows — v 64-bitnih sistemih se zdaj uporablja 64-bitni celoštevilski tip, v 32-bitnih sistemih pa 32-bitni tip (prej se je uporabljal analog tipa C long, zdaj pa ekvivalent np.intp).

Nekatere definicije v C-API so bile zamenjane ali odstranjene, na primer struktura PyArray_Descr je bila spremenjena. Največje število dimenzij in argumentov, nastavljenih prek makrov NPY_MAXDIMS in NPY_MAXARGS, je bilo povečano na 64. Vsi kompleksni tipi so bili preklopljeni na uporabo standardnih tipov iz specifikacije C99 (cfloat_t, cdouble_t, clongdouble_t). Dodan nov C API za ustvarjanje dtypes po meri. Predlagane so bile nove poenostavljene inicializacijske funkcije PyArray_ImportNumPyAPI in PyUFunc_ImportUFuncAPI.

Python API zagotavlja bolj eksplicitno ločevanje med javnimi in zasebnimi API-ji ter uvaja novo strukturo modulov. Približno 100 funkcij, modulov in konstant je bilo premaknjenih iz glavnega imenskega prostora "np", zastarelih ali odstranjenih.
Očiščen imenski prostor np.lib. Število objektov v glavnem imenskem prostoru se je zmanjšalo za 10 %, v imenskem prostoru numpy.lib pa za 80 %. Imenski prostor numpy.core je bil premaknjen v zasebno. Odstranjene so nekatere metode iz razredov np.ndarray in np.generic. Ustvaril je nov imenski prostor numpy.stringsf z operacijami nizov.

Nove funkcije vključujejo podporo za vrste float32 in longdouble v vseh funkcijah numpy.fft, podporo za standardni Array API v glavnem imenskem prostoru, nov imenski prostor in vrste za nize spremenljive dolžine. Optimizacija zmogljivosti je bila izvedena z uporabo knjižnic Intel x86-simd-sort in Google Highway za nizovne funkcije sort, argsort, partition in argpartition, operacije s fiksnimi nizi v modulu numpy.char so bile pospešene. Dodan nov API
opt_func_info za sledenje in introspekcijo.

Vir: opennet.ru

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster