NumPy Scientific Computing Python Library 2.0.0 buraxıldı

Elmi hesablamalar üçün Python kitabxanasının NumPy 2.0.0 buraxılışı mövcuddur, çoxölçülü massivlər və matrislərlə işləməyə yönəlmiş, həmçinin matrislərin istifadəsi ilə bağlı müxtəlif alqoritmlərin həyata keçirilməsi ilə geniş funksiyalar toplusunu təqdim edir. NumPy elmi hesablamalar üçün istifadə edilən ən məşhur kitabxanalardan biridir. Layihə kodu C-də optimallaşdırmalardan istifadə etməklə Python-da yazılmışdır və BSD lisenziyası altında paylanmışdır.

NumPy 2.0.0 2006-cı ildən bəri ilk əhəmiyyətli buraxılışdır.
Yeni xüsusiyyətlərə və performans optimallaşdırmalarına əlavə olaraq, yeni versiya geriyə uyğunluğu pozan ABI, Python API və C-API dəyişikliklərini ehtiva edir. Məsələn, NumPy 1.x ilə tərtib edilmiş SciPy kitabxanası NumPy 2.0 ilə işləmək üçün təkrar kompilyasiya tələb edəcək. Bəzi hallarda proqramlarda NumPy 2.0 istifadə etmək üçün kod dəyişiklikləri tələb oluna bilər.

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

C-API-də bəzi təriflər dəyişdirilib və ya silinib, məsələn, PyArray_Descr strukturu dəyişdirilib. NPY_MAXDIMS və NPY_MAXARGS makrosları vasitəsilə təyin olunan ölçülərin və arqumentlərin maksimum sayı 64-ə qədər artırılıb. Bütün mürəkkəb növlər C99 spesifikasiyasından (cfloat_t, cdouble_t, clongdouble_t) standart növlərdən istifadəyə keçib. Xüsusi dtypes yaratmaq üçün yeni C API əlavə edildi. Yeni sadələşdirilmiş başlanğıc funksiyaları PyArray_ImportNumPyAPI və PyUFunc_ImportUFuncAPI təklif edilmişdir.

Python API ictimai və şəxsi API-lər arasında daha aydın bir ayırma təmin edir və yeni modul strukturunu təqdim edir. Təxminən 100 funksiya, modul və sabit əsas "np" ad sahəsindən çıxarılıb, köhnəlmiş və ya silinmişdir.
np.lib ad sahəsi təmizləndi. Əsas ad məkanında obyektlərin sayı 10%, numpy.lib ad məkanında isə 80% azalıb. numpy.core ad sahəsi şəxsiyə köçürüldü. Np.ndarray və np.generic siniflərindən bəzi üsullar silindi. Sətir əməliyyatları ilə yeni numpy.stringsf ad sahəsi yaratdı.

Yeni funksiyalara bütün numpy.fft funksiyalarında float32 və longdouble növləri üçün dəstək, əsas ad məkanında standart Array API dəstəyi, yeni ad sahəsi və dəyişən uzunluqlu sətirlər üçün növlər daxildir. Performansın optimallaşdırılması Intel x86-simd-sort və Google Highway kitabxanalarından istifadə edərək sıralama, argsort, bölmə və argpartition funksiyaları üçün həyata keçirilib, numpy.char modulunda sabit sətirlərlə əməliyyatlar sürətləndirilib. Yeni API əlavə edildi
izləmə və introspeksiya üçün opt_func_info.

Mənbə: opennet.ru

DDoS mühafizəsi, VPS VDS serverləri olan saytlar üçün etibarlı hostinq alın 🔥 DDoS qorunması, VPS VDS serverləri ilə etibarlı veb sayt hostinqi alın | ProHoster