Gen yon lage bibliyotèk Python pou informatique syantifik NumPy 2.0.0 ki disponib, ki konsantre sou travay ak matris ak matris miltidimansyon, epi tou bay yon gwo koleksyon fonksyon ak aplikasyon divès algoritm ki gen rapò ak itilizasyon matris yo. NumPy se youn nan bibliyotèk ki pi popilè yo itilize pou kalkil syantifik. Kòd pwojè a ekri nan Python lè l sèvi avèk optimize nan C epi li distribye anba lisans BSD.
NumPy 2.0.0 make premye lage enpòtan depi 2006.
Nan nouvo vèsyon an, anplis nouvo karakteristik ak optimize pèfòmans, yo te fè chanjman nan ABI, Python API ak C-API, ki vyole konpatibilite bak. Pou egzanp, bibliyotèk SciPy konpile ak NumPy 1.x pral mande pou rekonpilasyon pou travay ak NumPy 2.0. Nan kèk ka, chanjman kòd yo ka oblije itilize NumPy 2.0 nan aplikasyon yo.
Наиболее крупное нарушение связано с сохранением точности скалярных выражений, например, «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).
Gen kèk definisyon nan C-API yo te ranplase oswa retire, pou egzanp, estrikti PyArray_Descr la te chanje. Kantite maksimòm dimansyon ak agiman yo mete nan makro NPY_MAXDIMS ak NPY_MAXARGS yo te ogmante a 64. Tout kalite konplèks yo te chanje pou itilize kalite estanda ki soti nan spesifikasyon C99 la (cfloat_t, cdouble_t, clongdouble_t). Te ajoute nouvo API C pou kreye dtypes koutim. Nouvo fonksyon inisyalizasyon senplifye PyArray_ImportNumPyAPI ak PyUFunc_ImportUFuncAPI yo te pwopoze.
API Python bay yon separasyon pi klè ant API piblik ak prive epi li prezante yon nouvo estrikti modil. Apeprè 100 fonksyon, modil, ak konstan yo te deplase soti nan espas non prensipal "np" la, depreke, oswa retire.
Netwaye espas non np.lib la. Nimewo a nan objè ki nan espas non prensipal la te redwi a 10%, ak nan espas non numpy.lib la pa 80%. Espas non numpy.core a te deplase nan prive. Retire kèk metòd nan klas np.ndarray ak np.generic. Kreye yon nouvo namespace numpy.stringsf ak operasyon fisèl.
Nouvo karakteristik yo enkli sipò pou float32 ak longdouble kalite nan tout fonksyon numpy.fft, sipò pou estanda API Array nan espas non prensipal la, yon nouvo espas non ak kalite pou fisèl longè varyab. Optimizasyon pèfòmans yo te fèt lè l sèvi avèk Intel x86-simd-sort ak Google Highway bibliyotèk pou fonksyon fisèl sòt, argsort, patisyon ak argpartition, operasyon ak fisèl fiks nan modil numpy.char yo te akselere. Nouvo API te ajoute
opt_func_info pou trase ak entwospeksyon.
Sous: opennet.ru
