Available ang isang release ng Python library para sa scientific computing NumPy 2.0.0, na nakatuon sa pagtatrabaho sa mga multidimensional array at matrice, at nagbibigay din ng malaking koleksyon ng mga function na may pagpapatupad ng iba't ibang algorithm na nauugnay sa paggamit ng mga matrice. Ang NumPy ay isa sa mga pinakasikat na aklatan na ginagamit para sa siyentipikong pagkalkula. Ang code ng proyekto ay nakasulat sa Python gamit ang mga pag-optimize sa C at ipinamamahagi sa ilalim ng lisensya ng BSD.
Ang NumPy 2.0.0 ay nagmamarka ng unang makabuluhang paglabas mula noong 2006.
Sa bagong bersyon, bilang karagdagan sa mga bagong feature at pag-optimize ng performance, ang mga pagbabago ay ginawa sa ABI, Python API at C-API, na lumalabag sa backward compatibility. Halimbawa, ang SciPy library na pinagsama-sama sa NumPy 1.x ay mangangailangan ng recompilation upang gumana sa NumPy 2.0. Sa ilang mga kaso, maaaring kailanganin ang mga pagbabago sa code upang magamit ang NumPy 2.0 sa mga application.
Наиболее крупное нарушение связано с сохранением точности скалярных выражений, например, «np.float32(3) + 3» теперь вернёт значение с типом float32, а не float64, а в выражениях с несколькими типами для результата будет использован тип с наивысшей точностью, т.е. «np.array([3], dtype=np.float32) + np.float64(3)» вернёт значение с типом float64. Изменены целочисленные типы, применяемые по умолчанию на платфoрме Windows — на 64-разрядных системах теперь применяется 64-разрядный целый тип, а на 32-разрядных — 32-разрядный (ранее использовался аналог Си-типа long, а теперь эквивалент np.intp).
Ang ilang mga kahulugan sa C-API ay pinalitan o inalis, halimbawa, ang istraktura ng PyArray_Descr ay binago. Ang maximum na bilang ng mga dimensyon at argumento na itinakda sa pamamagitan ng NPY_MAXDIMS at NPY_MAXARGS macro ay nadagdagan sa 64. Ang lahat ng kumplikadong uri ay inilipat sa paggamit ng mga karaniwang uri mula sa detalye ng C99 (cfloat_t, cdouble_t, clongdouble_t). Nagdagdag ng bagong C API para sa paggawa ng mga custom na dtype. Iminungkahi ang mga bagong pinasimpleng pagpapasimula ng PyArray_ImportNumPyAPI at PyUFunc_ImportUFuncAPI.
Nagbibigay ang Python API ng mas tahasang paghihiwalay sa pagitan ng mga pampubliko at pribadong API at nagpapakilala ng bagong istraktura ng module. Humigit-kumulang 100 function, module, at constants ang naalis sa pangunahing "np" namespace, hindi na ginagamit, o inalis.
Nilinis ang np.lib namespace. Ang bilang ng mga bagay sa pangunahing namespace ay nabawasan ng 10%, at sa numpy.lib namespace ng 80%. Ang numpy.core namespace ay inilipat sa pribado. Inalis ang ilang pamamaraan mula sa np.ndarray at np.generic na mga klase. Gumawa ng bagong namespace numpy.stringsf na may mga string operation.
Kasama sa mga bagong feature ang suporta para sa float32 at longdouble na mga uri sa lahat ng numpy.fft function, suporta para sa karaniwang Array API sa pangunahing namespace, isang bagong namespace at mga uri para sa variable na haba ng mga string. Ang performance optimization ay isinagawa gamit ang Intel x86-simd-sort at Google Highway na mga library para sa string function sort, argsort, partition at argpartition, ang mga operasyon na may mga fixed string sa numpy.char module ay pinabilis. Idinagdag ang bagong API
opt_func_info para sa pagsubaybay at pagsisiyasat ng sarili.
Pinagmulan: opennet.ru
