Python bibliotēkas izlaidums zinātniskai skaitļošanai NumPy 2.0.0

Ir pieejams Python bibliotēkas laidiens zinātniskajai skaitļošanai NumPy 2.0.0, kas ir vērsts uz darbu ar daudzdimensiju masīviem un matricām, kā arī nodrošina lielu funkciju kolekciju ar dažādu ar matricu izmantošanu saistītu algoritmu ieviešanu. NumPy ir viena no populārākajām bibliotēkām, ko izmanto zinātniskiem aprēķiniem. Projekta kods ir rakstīts Python, izmantojot optimizāciju C valodā, un tiek izplatīts saskaņā ar BSD licenci.

NumPy 2.0.0 ir pirmais nozīmīgais izlaidums kopš 2006. gada.
Papildus jaunām funkcijām un veiktspējas optimizācijām jaunajā versijā ir iekļautas izmaiņas ABI, Python API un C-API, kas traucē atpakaļejošu saderību. Piemēram, SciPy bibliotēkai, kas apkopota ar NumPy 1.x, būs nepieciešama atkārtota kompilācija, lai tā darbotos ar NumPy 2.0. Dažos gadījumos var būt nepieciešamas koda izmaiņas, lai lietojumprogrammās izmantotu NumPy 2.0.

Наиболее крупное нарушение связано с сохранением точности скалярных выражений, например, «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).

Dažas definīcijas C-API ir aizstātas vai noņemtas, piemēram, ir mainīta PyArray_Descr struktūra. Maksimālais dimensiju un argumentu skaits, kas iestatīts, izmantojot makro NPY_MAXDIMS un NPY_MAXARGS, ir palielināts līdz 64. Visi sarežģītie veidi ir pārslēgti uz standarta veidu izmantošanu no C99 specifikācijas (cfloat_t, cdouble_t, clongdouble_t). Pievienots jauns C API pielāgotu dtypes izveidei. Ir ierosinātas jaunas vienkāršotas inicializācijas funkcijas PyArray_ImportNumPyAPI un PyUFunc_ImportUFuncAPI.

Python API nodrošina precīzāku publisko un privāto API nošķiršanu un ievieš jaunu moduļu struktūru. Aptuveni 100 funkcijas, moduļi un konstantes ir pārvietotas no galvenās "np" nosaukumvietas, novecojušas vai noņemtas.
Nosaukumvieta np.lib ir iztīrīta. Objektu skaits galvenajā nosaukumvietā ir samazināts par 10%, bet nosaukumvietā numpy.lib par 80%. Nosaukumvieta numpy.core ir pārvietota uz privātu. No np.ndarray un np.generic klasēm ir noņemtas dažas metodes. Izveidota jauna nosaukumvieta numpy.stringsf ar virkņu darbībām.

Jaunās funkcijas ietver atbalstu float32 un longdouble veidiem visās numpy.fft funkcijās, standarta Array API atbalstu galvenajā nosaukumvietā, jaunu nosaukumvietu un mainīga garuma virkņu tipus. Veiktspējas optimizācija ir veikta, izmantojot Intel x86-simd-sort un Google Highway bibliotēkas virkņu funkcijām sort, argsort, partition un argpartition, ir paātrinātas darbības ar fiksētām virknēm modulī numpy.char. Pievienota jauna API
opt_func_info izsekošanai un pašpārbaudei.

Avots: opennet.ru

Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster