Bilimsel hesaplama için Python kütüphanesinin yayınlanması NumPy 2.0.0

Çok boyutlu diziler ve matrislerle çalışmaya odaklanan ve aynı zamanda matrislerin kullanımıyla ilgili çeşitli algoritmaların uygulanmasıyla geniş bir fonksiyon koleksiyonu sağlayan, bilimsel hesaplamaya yönelik Python kütüphanesinin NumPy 2.0.0 sürümü mevcuttur. NumPy bilimsel hesaplamalar için kullanılan en popüler kütüphanelerden biridir. Proje kodu Python'da C dilindeki optimizasyonlar kullanılarak yazılmıştır ve BSD lisansı altında dağıtılmaktadır.

NumPy 2.0.0, 2006'dan bu yana ilk önemli sürümü temsil ediyor.
Yeni sürümde yeni özellikler ve performans optimizasyonlarının yanı sıra ABI, Python API ve C-API'de geriye dönük uyumluluğu ihlal eden değişiklikler yapıldı. Örneğin, NumPy 1.x ile derlenen SciPy kütüphanesinin NumPy 2.0 ile çalışması için yeniden derlenmesi gerekecektir. Bazı durumlarda NumPy 2.0'ı uygulamalarda kullanmak için kod değişiklikleri gerekebilir.

En önemli hata, skalar ifadelerin hassasiyetinin korunmasıyla ilgilidir; örneğin, "np.float32(3) + 3" artık float64 değil, float32 türünde bir değer döndürecektir ve birden fazla tür içeren ifadelerde, sonuç için en yüksek hassasiyete sahip tür kullanılacaktır, yani "np.array([3], dtype=np.float32) + np.float64(3)" float64 türünde bir değer döndürecektir. Platformda kullanılan varsayılan tamsayı türleri değiştirilmiştir. Windows — 64 bit sistemlerde artık 64 bitlik bir tamsayı türü, 32 bit sistemlerde ise 32 bitlik bir tür kullanılıyor (önceden C tipi analog long kullanılıyordu, şimdi ise eşdeğeri np.intp kullanılıyor).

C-API'deki bazı tanımlar değiştirildi veya kaldırıldı, örneğin PyArray_Descr yapısı değiştirildi. NPY_MAXDIMS ve NPY_MAXARGS makroları aracılığıyla ayarlanan maksimum boyut ve bağımsız değişken sayısı 64'e çıkarıldı. Tüm karmaşık türler, C99 spesifikasyonundaki standart türlerin (cfloat_t, cdouble_t, clongdouble_t) kullanılmasına geçirildi. Özel dtype'ler oluşturmak için yeni C API'si eklendi. Yeni basitleştirilmiş başlatma işlevleri PyArray_ImportNumPyAPI ve PyUFunc_ImportUFuncAPI önerildi.

Python API, genel ve özel API'ler arasında daha açık bir ayrım sağlar ve yeni bir modül yapısı sunar. Yaklaşık 100 işlev, modül ve sabit ana "np" ad alanının dışına taşındı, kullanımdan kaldırıldı veya kaldırıldı.
Np.lib ad alanını temizledim. Ana ad alanındaki nesnelerin sayısı %10, numpy.lib ad alanındaki nesnelerin sayısı ise %80 azaltıldı. Numpy.core ad alanı özele taşındı. np.ndarray ve np.generic sınıflarından bazı yöntemler kaldırıldı. Dize işlemleriyle yeni bir ad alanı numpy.stringsf oluşturuldu.

Yeni özellikler arasında tüm numpy.fft işlevlerinde float32 ve longdouble türleri desteği, ana ad alanında standart Array API desteği, yeni bir ad alanı ve değişken uzunluklu dize türleri yer alır. Sıralama, argsort, partition ve argpartition string fonksiyonları için Intel x86-simd-sort ve Google Highway kütüphaneleri kullanılarak performans optimizasyonu yapılmış, numpy.char modülünde sabit stringlerle işlemler hızlandırılmıştır. Yeni API eklendi
İzleme ve iç gözlem için opt_func_info.

Kaynak: opennet.ru

DDoS korumalı siteler, VPS VDS sunucuları için güvenilir hosting satın alın 🔥 DDoS korumalı, güvenilir VPS ve VDS sunucu barındırma hizmeti satın alın | ProHoster