NumPy Scientific Computing Python Library 2.0.0 udgivet

En udgivelse af Python-biblioteket til videnskabelig databehandling NumPy 2.0.0 er tilgængelig, fokuseret på at arbejde med multidimensionelle arrays og matricer, og som også giver en stor samling af funktioner med implementering af forskellige algoritmer relateret til brugen af ​​matricer. NumPy er et af de mest populære biblioteker, der bruges til videnskabelige beregninger. Projektkoden er skrevet i Python ved hjælp af optimeringer i C og distribueres under BSD-licensen.

NumPy 2.0.0 markerer den første betydelige udgivelse siden 2006.
Ud over nye funktioner og ydeevneoptimeringer inkluderer den nye version ændringer til ABI, Python API og C-API, der bryder bagudkompatibiliteten. For eksempel vil SciPy-biblioteket kompileret med NumPy 1.x kræve genkompilering for at fungere med NumPy 2.0. I nogle tilfælde kan kodeændringer være nødvendige for at bruge NumPy 2.0 i applikationer.

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

Nogle definitioner i C-API er blevet erstattet eller fjernet, for eksempel er PyArray_Descr-strukturen blevet ændret. Det maksimale antal dimensioner og argumenter sat gennem makroerne NPY_MAXDIMS og NPY_MAXARGS er blevet øget til 64. Alle komplekse typer er skiftet til at bruge standardtyper fra C99-specifikationen (cfloat_t, cdouble_t, clongdouble_t). Tilføjet ny C API til oprettelse af brugerdefinerede dtypes. Nye forenklede initialiseringsfunktioner PyArray_ImportNumPyAPI og PyUFunc_ImportUFuncAPI er blevet foreslået.

Python API'en giver en mere eksplicit adskillelse mellem offentlige og private API'er og introducerer en ny modulstruktur. Omkring 100 funktioner, moduler og konstanter er blevet flyttet ud af det primære "np"-navneområde, forældet eller fjernet.
Ryddede op i np.lib-navneområdet. Antallet af objekter i hovednavneområdet er reduceret med 10 % og i numpy.lib-navneområdet med 80 %. Navneområdet numpy.core er blevet flyttet til privat. Fjernede nogle metoder fra klasserne np.ndarray og np.generic. Oprettet et nyt navneområde numpy.stringsf med strengoperationer.

Nye funktioner inkluderer understøttelse af float32 og longdouble-typer i alle numpy.fft-funktioner, understøttelse af standard Array API i hovednavneområdet, et nyt navneområde og typer til strenge med variabel længde. Ydeevneoptimering er blevet udført ved hjælp af Intel x86-simd-sort og Google Highway bibliotekerne for strengfunktionerne sort, argsort, partition og argpartition, operationer med faste strenge i numpy.char modulet er blevet accelereret. Ny API tilføjet
opt_func_info til sporing og introspektion.

Kilde: opennet.ru

Køb pålidelig hosting til websteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster