NumPy Scienca Komputado Python Biblioteko 2.0.0 Liberigita

Eldono de la Python-biblioteko por scienca komputiko NumPy 2.0.0 estas havebla, temigis labori kun plurdimensiaj tabeloj kaj matricoj, kaj ankaŭ provizanta grandan kolekton de funkcioj kun la efektivigo de diversaj algoritmoj ligitaj al la uzo de matricoj. NumPy estas unu el la plej popularaj bibliotekoj uzataj por sciencaj kalkuloj. La projektkodo estas skribita en Python uzante optimumigojn en C kaj estas distribuita sub la BSD-licenco.

NumPy 2.0.0 markas la unuan signifan eldonon ekde 2006.
Krom novaj funkcioj kaj agado-optimumoj, la nova versio inkluzivas ŝanĝojn al la ABI, Python API kaj C-API, kiuj rompas malantaŭan kongruon. Ekzemple, la biblioteko SciPy kompilita kun NumPy 1.x postulos rekompilon por labori kun NumPy 2.0. En iuj kazoj, kodŝanĝoj povas esti postulataj por uzi NumPy 2.0 en aplikoj.

La plej grava cimo rilatas al la konservado de precizeco de skalaraj esprimoj, ekzemple, "np.float32(3) + 3" nun redonos valoron de tipo float32, ne float64, kaj en esprimoj kun pluraj tipoj, la tipo kun la plej alta precizeco estos uzata por la rezulto, t.e. "np.array([3], dtype=np.float32) + np.float64(3)" redonos valoron de tipo float64. La defaŭltaj entjeraj tipoj uzataj sur la platformo estis ŝanĝitaj. Windows — ĉe 64-bitaj sistemoj, nun oni uzas 64-bitan entjeran tipon, kaj ĉe 32-bitaj sistemoj, 32-bitan tipon (antaŭe oni uzis la C-tipan analogon long, sed nun la ekvivalenton np.intp).

Iuj difinoj en la C-API estis anstataŭigitaj aŭ forigitaj, ekzemple, la strukturo PyArray_Descr estis ŝanĝita. La maksimuma nombro da dimensioj kaj argumentoj agordita per la makrooj NPY_MAXDIMS kaj NPY_MAXARGS estis pliigita al 64. Ĉiuj kompleksaj tipoj estis ŝanĝitaj al uzado de normaj tipoj de la specifo C99 (cfloat_t, cdouble_t, clongdouble_t). Aldonita nova C API por krei kutimajn dtipojn. Novaj simpligitaj inicialigfunkcioj PyArray_ImportNumPyAPI kaj PyUFunc_ImportUFuncAPI estis proponitaj.

La Python API disponigas pli eksplicitan apartigon inter publikaj kaj privataj APIoj kaj enkondukas novan modulstrukturon. Ĉirkaŭ 100 funkcioj, moduloj kaj konstantoj estis movitaj el la ĉefa "np" nomspaco, malrekomenditaj aŭ forigitaj.
Purigis la nomspacon np.lib. La nombro da objektoj en la ĉefa nomspaco estis reduktita je 10%, kaj en la numpy.lib nomspaco je 80%. La nomspaco numpy.core estis movita al privata. Forigis kelkajn metodojn de np.ndarray kaj np.generic klasoj. Kreis novan nomspacon numpy.stringsf kun ĉenoperacioj.

Novaj funkcioj inkluzivas subtenon por float32 kaj longdouble tipoj en ĉiuj numpy.fft funkcioj, subteno por la norma Array API en la ĉefa nomspaco, nova nomspaco kaj tipoj por ŝanĝiĝemaj ŝnuroj. Efikecoptimumigo estis efektivigita uzante la Intel x86-simd-sort kaj Google Highway-bibliotekoj por la kordaj funkcioj ordigi, argsort, vando kaj argpartition, operacioj kun fiksaj ŝnuroj en la modulo numpy.char estis akcelitaj. Nova API aldonita
opt_func_info por spurado kaj introspekto.

fonto: opennet.ru

Aĉetu fidindan gastigadon por retejoj kun DDoS-protekto, VPS-VDS-serviloj 🔥 Aĉetu fidindan retejan gastigadon kun DDoS-protekto, VPS VDS-servilojn | ProHoster