NumPy Scientific Computing Python Library 2.0.0 släppt

En utgåva av Python-biblioteket för vetenskaplig beräkning NumPy 2.0.0 är tillgänglig, fokuserad på att arbeta med flerdimensionella arrayer och matriser, och även tillhandahålla en stor samling funktioner med implementering av olika algoritmer relaterade till användningen av matriser. NumPy är ett av de mest populära biblioteken som används för vetenskapliga beräkningar. Projektkoden är skriven i Python med hjälp av optimeringar i C och distribueras under BSD-licensen.

NumPy 2.0.0 är den första betydande versionen sedan 2006.
I den nya versionen har, förutom nya funktioner och prestandaoptimeringar, ändringar gjorts i ABI, Python API och C-API, vilket bryter mot bakåtkompatibiliteten. Till exempel kommer SciPy-biblioteket som kompilerats med NumPy 1.x att kräva omkompilering för att fungera med NumPy 2.0. I vissa fall kan kodändringar krävas för att använda 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).

Vissa definitioner i C-API har ersatts eller tagits bort, till exempel har PyArray_Descr-strukturen ändrats. Det maximala antalet dimensioner och argument som ställts in genom makrona NPY_MAXDIMS och NPY_MAXARGS har ökats till 64. Alla komplexa typer har bytts till att använda standardtyper från C99-specifikationen (cfloat_t, cdouble_t, clongdouble_t). Lade till nytt C API för att skapa anpassade dtyper. Nya förenklade initialiseringsfunktioner PyArray_ImportNumPyAPI och PyUFunc_ImportUFuncAPI har föreslagits.

Python API ger en mer explicit separation mellan offentliga och privata API:er och introducerar en ny modulstruktur. Ungefär 100 funktioner, moduler och konstanter har flyttats ut från huvudnamnområdet "np", utfasade eller tagits bort.
Rensade upp namnutrymmet np.lib. Antalet objekt i huvudnamnområdet har minskat med 10 % och i namnområdet numpy.lib med 80 %. Namnutrymmet numpy.core har flyttats till privat. Tog bort några metoder från klasserna np.ndarray och np.generic. Skapat ett nytt namnområde numpy.stringsf med strängoperationer.

Nya funktioner inkluderar stöd för float32 och longdouble-typer i alla numpy.fft-funktioner, stöd för standard Array API i huvudnamnområdet, ett nytt namnområde och typer för strängar med variabel längd. Prestandaoptimering har utförts med hjälp av Intel x86-simd-sort- och Google Highway-biblioteken för strängfunktionerna sort, argsort, partition och argpartition, operationer med fasta strängar i numpy.char-modulen har accelererats. Nytt API lagt till
opt_func_info för spårning och introspektion.

Källa: opennet.ru

Köp pålitlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster