Python'i teaduslike arvutuste raamatukogu NumPy 2.0.0 väljaanne

Välja on Pythoni teaduslikke arvutusi toetava NumPy 2.0.0 teek, mis on suunatud mitmemõõtmeliste massiivide ja maatriksite töötlemisele ning sisaldab suurt kogumit funktsioone, mis realiseerivad erinevaid algoritme, mis on seotud maatriksite kasutamisega. NumPy on üks nõutumaid teeke teaduslike arvutuste jaoks. Projekti kood on kirjutatud Pythonis, kasutades C-keeles optimeeritud koodi ning jagatakse BSD litsentsi alusel.

NumPy 2.0.0 on märgitud kui esimene oluline väljalase alates 2006. aastast.
Uues versioonis, välja arvatud uued võimalused ja jõudluse optimeerimine, on muutusi ABI, Python API ja C-API-s, mis rikuvad tagurpidi ühilduvust. Näiteks, SciPy teek, mis on kokku pandud NumPy 1.x-i abil, vajab NumPy 2.0 kasutamiseks uuesti kompileerimist. Mõningatel juhtudel võib NumPy 2.0 kasutamiseks rakendustes olla vajalik koodi muutmine.

Suurim rikkumine on seotud skalaarsete väljendite täpsuse säilitamisega, näiteks «np.float32(3) + 3» tagastab nüüd float32 tüüpi väärtuse, mitte float64 tüüpi. Kui väljend sisaldab mitut tüüpi, kasutatakse tulemuseks kõrgeima täpsusega tüüpi, st «np.array([3], dtype=np.float32) + np.float64(3)» tagastab float64 tüüpi väärtuse. Integersed tüübid, mis on vaikimisi Windows platvormil, on muutunud — 64-bitistes süsteemides kasutatakse nüüd 64-bitist täisarvu ning 32-bitistes 32-bitist (varasemalt kasutati C-koodi long tüüpi vastet, nüüd on see ekvivalent np.intp).

Mõned määratlemised C-API-s on asendatud või eemaldatud, näiteks on muudetud struktuuri PyArray_Descr. Maksimaalne mõõtmete ja argumentide arv, mis on seatud makrode NPY_MAXDIMS ja NPY_MAXARGS kaudu, on suurendatud 64-ni. Kõik kompleksid tüübid on üle viidud C99 spetsifikatsioonist pärit tahtmatu tüübide kasutamisele (cfloat_t, cdouble_t, clongdouble_t). Uus C API on lisatud, et luua oma dtype. Pakutud on uusi lihtsustatud funktsioone PyArray_ImportNumPyAPI ja PyUFunc_ImportUFuncAPI initsialiseerimiseks.

Python API-s on tagatud selgem eristamine avaliku ja privaatse API vahel, pakutud on uus moodulite struktuur. Ligikaudu 100 funksiooni, moodulit ja konstanti on viidud väljapoole põhikanalit «np», kuulutatud vananenuks või eemaldatud.
Nimi ruum np.lib on puhastatud. Objekti arvu peamises nimes on vähendatud 10%, samas kui nimes numpy.lib on see vähenenud 80%. Muudetud privaatseteks nimedeks ruumis numpy.core. Mõned meetodid klassidest np.ndarray ja np.generic on eemaldatud. Uus nimi ruum numpy.stringsf on loodud stringioperatsioonide jaoks.

Uute funktsioonide hulgas on märgitud float32 ja longdouble tüüpide tugi kõigis numpy.fft funktsioonides, põhiriigi standardse API Array tugi, uus nimi ruum ja muutuva pikkusega stringide tugi. Jõudluse optimeerimine, kasutades Intel x86-simd-sort ja Google Highway raamatukogusid stringifunktsioonide sort, argsort, partition ja argpartition jaoks, ning fikseeritud stringide operatsioonid moodulis numpy.char on kiirendatud. Lisatud on uus API
opt_func_info jälgimiseks ja introspektsiooniks.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster