In útjefte fan 'e Python-bibleteek foar wittenskiplike komputer NumPy 2.0.0 is beskikber, rjochte op it wurkjen mei multydinsjonele arrays en matriksen, en ek in grutte kolleksje fan funksjes leverje mei de ymplemintaasje fan ferskate algoritmen yn ferbân mei it brûken fan matriks. NumPy is ien fan 'e populêrste bibleteken brûkt foar wittenskiplike berekkeningen. De projektkoade is skreaun yn Python mei optimisaasjes yn C en wurdt ferspraat ûnder de BSD-lisinsje.
NumPy 2.0.0 markearret de earste grutte release sûnt 2006.
Neist nije funksjes en prestaasjesoptimalisaasjes omfettet de nije ferzje feroarings oan 'e ABI, Python API en C-API dy't efterútkompatibiliteit skeine. Bygelyks, de SciPy-bibleteek kompilearre mei NumPy 1.x sil opnij kompilaasje nedich wêze om te wurkjen mei NumPy 2.0. Yn guon gefallen kinne koade feroarings nedich wêze om NumPy 2.0 te brûken yn applikaasjes.
De wichtichste bug is relatearre oan it behâld fan presyzje fan skalêre útdrukkingen, bygelyks, "np.float32(3) + 3" sil no in wearde fan it type float32 weromjaan, net float64, en yn útdrukkingen mei meardere typen sil it type mei de heechste presyzje brûkt wurde foar it resultaat, d.w.s. "np.array([3], dtype=np.float32) + np.float64(3)" sil in wearde fan it type float64 weromjaan. De standert integertypen dy't op it platfoarm brûkt wurde, binne feroare. Windows — op 64-bit systemen wurdt no in 64-bit integer-type brûkt, en op 32-bit systemen in 32-bit-type (earder waard de C-type analoge long brûkt, mar no it lykweardige np.intp).
Guon definysjes yn 'e C-API binne ferfongen of fuortsmiten, bygelyks de PyArray_Descr-struktuer is feroare. It maksimum oantal diminsjes en arguminten ynsteld troch de NPY_MAXDIMS- en NPY_MAXARGS-makro's is ferhege nei 64. Alle komplekse typen binne oerskeakele op it brûken fan standerttypen út 'e C99-spesifikaasje (cfloat_t, cdouble_t, clongdouble_t). Nije C API tafoege foar it meitsjen fan oanpaste dtypes. Nije ferienfâldige inisjalisaasjefunksjes PyArray_ImportNumPyAPI en PyUFunc_ImportUFuncAPI binne foarsteld.
De Python API biedt in mear eksplisite skieding tusken iepenbiere en partikuliere API's en in nije modulestruktuer. Sawat 100 funksjes, modules en konstanten binne ferpleatst út 'e haad "np" nammeromte, ôfkard of fuortsmiten.
De np.lib nammeromte skjinmakke. It oantal objekten yn de haadnammeromte is mei 10% fermindere, en yn de numpy.lib nammeromte mei 80%. De numpy.core nammeromte is ferpleatst nei privee. Ferwidere guon metoaden út np.ndarray en np.generic klassen. In nije nammeromte makke numpy.stringsf mei tekenrige operaasjes.
Nije funksjes befetsje stipe foar float32 en longdouble typen yn alle numpy.fft funksjes, stipe foar de standert Array API yn de wichtichste nammeromte, in nije nammeromte en typen foar fariabele lingte snaren. Prestaasjeoptimalisaasje is útfierd mei de Intel x86-simd-sort en Google Highway-biblioteken foar de stringfunksjes sort, argsort, partition en argpartition, operaasjes mei fêste snaren yn 'e numpy.char-module binne fersneld. Nije API tafoege
opt_func_info foar tracing en yntrospeksje.
Boarne: opennet.ru
