Una liberazione di a biblioteca Python per l'informatica scientifica NumPy 2.0.0 hè dispunibule, focu annantu à travaglià cù arrays multidimensionali è matrici, è ancu furnisce una grande cullizzioni di funzioni cù l'implementazione di diversi algoritmi ligati à l'usu di matrici. NumPy hè una di e biblioteche più populari aduprate per i calculi scientifichi. U codice di u prugettu hè scrittu in Python cù ottimisazioni in C è hè distribuitu sottu a licenza BSD.
NumPy 2.0.0 marca a prima liberazione significativa da u 2006.
In più di e funzioni novi è ottimisazioni di u rendiment, a nova versione include cambiamenti à l'ABI, Python API è C-API chì rompenu a cumpatibilità inversa. Per esempiu, a libreria SciPy cumpilata cù NumPy 1.x hà bisognu di recompilazione per travaglià cù NumPy 2.0. In certi casi, i cambiamenti di codice pò esse necessariu per utilizà NumPy 2.0 in l'applicazioni.
U bug u più significativu hè ligatu à a preservazione di a precisione di l'espressioni scalari, per esempiu, "np.float32(3) + 3" restituirà avà un valore di tipu float32, micca float64, è in espressioni cù parechji tipi, u tipu cù a più alta precisione serà utilizatu per u risultatu, vale à dì "np.array([3], dtype=np.float32) + np.float64(3)" restituirà un valore di tipu float64. I tipi interi predefiniti utilizati nantu à a piattaforma sò stati cambiati. Windows — nant'à i sistemi à 64 bit, avà si usa un tipu interu à 64 bit, è nant'à i sistemi à 32 bit, un tipu à 32 bit (prima, si usava l'analogu di tipu C long, ma avà l'equivalente np.intp).
Certi difinizzioni in u C-API sò stati rimpiazzati o eliminati, per esempiu, a struttura PyArray_Descr hè stata cambiata. U numaru massimu di dimensioni è argumenti stabiliti attraversu i macros NPY_MAXDIMS è NPY_MAXARGS hè statu aumentatu à 64. Tutti i tipi cumplessi sò stati cambiati per utilizà tipi standard da l'specificazione C99 (cfloat_t, cdouble_t, clongdouble_t). Aggiunta una nova API C per creà dtypes persunalizati. I novi funzioni di inizializazione simplificati PyArray_ImportNumPyAPI è PyUFunc_ImportUFuncAPI sò stati pruposti.
L'API Python furnisce una separazione più esplicita trà l'API publiche è private è introduce una nova struttura di moduli. Circa 100 funzioni, moduli è custanti sò stati spustati fora di u spaziu di nomi "np" principale, deprecated, o eliminati.
Pulite u spaziu di nomi np.lib. U numaru d'uggetti in u namespace principale hè stata ridutta da 10%, è in u namespace numpy.lib da 80%. U spaziu di nomi numpy.core hè statu spustatu in privatu. Eliminatu certi metudi da e classi np.ndarray è np.generic. Creatu un novu namespace numpy.stringsf cù operazioni di stringa.
E funzioni novi includenu supportu per i tipi float32 è longdouble in tutte e funzioni numpy.fft, supportu per l'API Array standard in u namespace principale, un novu namespace è tipi per strings di lunghezza variabile. L'ottimisazione di u rendiment hè stata realizata cù e librerie Intel x86-simd-sort è Google Highway per e funzioni di string sort, argsort, partition and argpartition, l'operazioni cù strings fissi in u modulu numpy.char sò stati accelerati. A nova API hè aghjuntu
opt_func_info per traccia è introspezione.
Source: opennet.ru
