NumPy 2.0.0 илимий эсептөө үчүн Python китепканасынын чыгарылышы

Көп өлчөмдүү массивдер жана матрицалар менен иштөөгө багытталган, ошондой эле матрицаларды колдонууга байланыштуу ар кандай алгоритмдерди ишке ашыруу менен функциялардын чоң жыйнагын камсыз кылуучу илимий эсептөөчү NumPy 2.0.0 үчүн Python китепканасынын релизи бар. NumPy илимий эсептөөлөр үчүн колдонулган эң популярдуу китепканалардын бири. Долбоордун коду C тилиндеги оптималдаштырууну колдонуу менен Python тилинде жазылган жана BSD лицензиясы боюнча таратылат.

NumPy 2.0.0 2006-жылдан бери биринчи маанилүү релизди белгилейт.
Жаңы версияда жаңы функциялардан жана өндүрүмдүүлүктү оптималдаштыруудан тышкары, артка карай шайкештикти бузган ABI, Python API жана C-APIге өзгөртүүлөр киргизилди. Мисалы, NumPy 1.x менен түзүлгөн SciPy китепканасы NumPy 2.0 менен иштөө үчүн кайра компиляцияны талап кылат. Кээ бир учурларда, колдонмолордо NumPy 2.0 колдонуу үчүн кодду өзгөртүү талап кылынышы мүмкүн.

Эң маанилүү ката скалярдык туюнтмалардын тактыгын сактоого байланыштуу, мисалы, "np.float32(3) + 3" эми float64 эмес, float32 түрүндөгү маанини кайтарат, ал эми бир нече түрү бар туюнтмаларда натыйжа үчүн эң жогорку тактыктагы тип колдонулат, б.а. "np.array([3], dtype=np.float32) + np.float64(3)" float64 түрүндөгү маанини кайтарат. Платформада колдонулган демейки бүтүн сан түрлөрү өзгөртүлдү. Windows — 64-биттик системаларда азыр 64-биттик бүтүн сан түрү, ал эми 32-биттик системаларда 32-биттик түрү колдонулат (мурда C-типтеги аналогдук long колдонулган, бирок азыр эквиваленттүү np.intp).

C-APIдеги кээ бир аныктамалар алмаштырылган же алынып салынган, мисалы, PyArray_Descr структурасы өзгөртүлгөн. NPY_MAXDIMS жана NPY_MAXARGS макролору аркылуу коюлган өлчөмдөрдүн жана аргументтердин максималдуу саны 64кө чейин көбөйтүлдү. Бардык татаал типтер C99 спецификациясынан стандарттык типтерди колдонууга которулду (cfloat_t, cdouble_t, clongdouble_t). Ыңгайлаштырылган dtypes түзүү үчүн жаңы C API кошулду. Жаңы жөнөкөйлөштүрүлгөн баштоо функциялары PyArray_ImportNumPyAPI жана PyUFunc_ImportUFuncAPI сунушталды.

Python API коомдук жана жеке API ортосунда ачык-айкын бөлүүнү камсыз кылат жана жаңы модулдун структурасын киргизет. 100гө жакын функциялар, модулдар жана константалар негизги "np" аталыш мейкиндигинен жылдырылды, эскирди же жок кылынды.
np.lib аттар мейкиндигин тазалады. Негизги аттар мейкиндигинде объекттердин саны 10% га, numpy.lib аттар мейкиндигинде 80% га кыскарган. numpy.core аталыш мейкиндиги купуяга жылдырылды. Np.ndarray жана np.generic класстарынан кээ бир ыкмалар алынып салынды. Сап операциялары менен numpy.stringsf жаңы аталыш мейкиндигин түздү.

Жаңы функцияларга бардык numpy.fft функцияларында float32 жана longdouble түрлөрүн колдоо, негизги аттар мейкиндигинде стандарттуу Array API колдоо, жаңы аттар мейкиндиги жана өзгөрмө узундуктагы саптардын түрлөрү кирет. Ишти оптималдаштыруу Intel x86-simd-сорттоо жана Google Highway китепканаларын колдонуу менен сорттоо, argsort, бөлүү жана argpartition сап функциялары үчүн жүргүзүлдү, numpy.char модулунда белгиленген саптар менен операциялар тездетилди. Жаңы API кошулду
көз салуу жана интроспекция үчүн opt_func_info.

Source: opennet.ru

DDoS коргоосу, VPS VDS серверлери бар сайттар үчүн ишенимдүү хостинг сатып алыңыз 🔥 DDoS коргоосу, VPS VDS серверлери бар ишенимдүү веб-сайт хостингин сатып алыңыз | ProHoster