Ilmiy hisoblash uchun Python kutubxonasining NumPy 2.0.0 versiyasi mavjud bo'lib, u ko'p o'lchovli massivlar va matritsalar bilan ishlashga qaratilgan, shuningdek, matritsalardan foydalanish bilan bog'liq turli xil algoritmlarni amalga oshirish bilan funktsiyalarning katta to'plamini taqdim etadi. NumPy ilmiy hisob-kitoblar uchun ishlatiladigan eng mashhur kutubxonalardan biridir. Loyiha kodi Python-da C-dagi optimallashtirishlar yordamida yozilgan va BSD litsenziyasi ostida tarqatiladi.
NumPy 2.0.0 2006 yildan beri birinchi muhim relizdir.
Yangi xususiyatlar va ish faoliyatini optimallashtirishga qo'shimcha ravishda, yangi versiyada ABI, Python API va C-API ga orqaga qarab muvofiqlikni buzadigan o'zgarishlar kiritilgan. Masalan, NumPy 1.x bilan tuzilgan SciPy kutubxonasi NumPy 2.0 bilan ishlash uchun qayta kompilyatsiya qilishni talab qiladi. Ba'zi hollarda ilovalarda NumPy 2.0 dan foydalanish uchun kodni o'zgartirish talab qilinishi mumkin.
Eng muhim xato skalyar ifodalarning aniqligini saqlash bilan bog'liq, masalan, "np.float32(3) + 3" endi float64 emas, balki float32 turidagi qiymatni qaytaradi va bir nechta turdagi ifodalarda natija uchun eng yuqori aniqlikka ega tur ishlatiladi, ya'ni "np.array([3], dtype=np.float32) + np.float64(3)" float64 turidagi qiymatni qaytaradi. Platformada ishlatiladigan standart butun son turlari o'zgartirildi. Windows — 64-bitli tizimlarda endi 64-bitli butun son turi, 32-bitli tizimlarda esa 32-bitli turi ishlatiladi (ilgari C-turdagi analog long ishlatilgan, ammo hozir unga teng keladigan np.intp).
C-API-dagi ba'zi ta'riflar almashtirildi yoki olib tashlandi, masalan, PyArray_Descr tuzilishi o'zgartirildi. NPY_MAXDIMS va NPY_MAXARGS makroslari orqali oʻrnatilgan oʻlchamlar va argumentlarning maksimal soni 64 taga koʻpaytirildi. Barcha murakkab turlar C99 spetsifikatsiyasidan (cfloat_t, cdouble_t, clongdouble_t) standart turlardan foydalanishga aylantirildi. Maxsus dtiplarni yaratish uchun yangi C API qo'shildi. PyArray_ImportNumPyAPI va PyUFunc_ImportUFuncAPI yangi soddalashtirilgan ishga tushirish funksiyalari taklif qilindi.
Python API umumiy va xususiy API o'rtasida aniqroq ajratishni ta'minlaydi va yangi modul tuzilishini taqdim etadi. 100 ga yaqin funksiyalar, modullar va konstantalar asosiy "np" nom maydonidan ko'chirildi, eskirgan yoki o'chirildi.
Np.lib nom maydoni tozalandi. Asosiy nomlar maydonidagi ob'ektlar soni 10% ga, numpy.lib nom maydonida esa 80% ga kamaydi. numpy.core nom maydoni shaxsiyga ko'chirildi. Np.ndarray va np.generic sinflaridan ba'zi usullar olib tashlandi. Satr operatsiyalari bilan yangi numpy.stringsf nom maydoni yaratildi.
Yangi funksiyalar qatoriga barcha numpy.fft funksiyalarida float32 va longdouble turlarini qo‘llab-quvvatlash, asosiy nomlar maydonida standart Array API-ni qo‘llab-quvvatlash, yangi nom maydoni va o‘zgaruvchan uzunlikdagi satrlar turlari kiradi. Ishlashni optimallashtirish Intel x86-simd-sort va Google Highway kutubxonalari yordamida saralash, argsort, bo'lim va argpartition funktsiyalari uchun amalga oshirildi, numpy.char modulida belgilangan satrlar bilan operatsiyalar tezlashtirildi. Yangi API qo'shildi
kuzatish va introspektsiya uchun opt_func_info.
Manba: opennet.ru
