သိပ္ပံနည်းကျတွက်ချက်ခြင်းအတွက် Python စာကြည့်တိုက်ကို NumPy 2.0.0 ကို ရရှိနိုင်ပြီး ဘက်စုံ arrays နှင့် matrices များနှင့်အတူ လုပ်ဆောင်ရန် အာရုံစိုက်ထားပြီး matrices အသုံးပြုမှုနှင့် သက်ဆိုင်သည့် algorithms အမျိုးမျိုးကို အကောင်အထည်ဖော်ခြင်းဖြင့် လုပ်ဆောင်ချက်များစွာကို စုစည်းပေးပါသည်။ NumPy သည် သိပ္ပံနည်းကျ တွက်ချက်မှုများအတွက် အသုံးပြုသည့် ရေပန်းအစားဆုံး စာကြည့်တိုက်များထဲမှ တစ်ခုဖြစ်သည်။ ပရောဂျက်ကုဒ်ကို C တွင် ပိုမိုကောင်းမွန်အောင်လုပ်ဆောင်မှုများကို အသုံးပြု၍ Python ဖြင့် ရေးသားထားပြီး BSD လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။
NumPy 2.0.0 သည် 2006 ခုနှစ်နောက်ပိုင်း ပထမဆုံး သိသာထင်ရှားသော ဖြန့်ချိမှုဖြစ်သည်။
ဗားရှင်းအသစ်တွင်၊ အင်္ဂါရပ်အသစ်များနှင့် စွမ်းဆောင်ရည် ပိုမိုကောင်းမွန်အောင် လုပ်ဆောင်မှုများအပြင်၊ နောက်ပြန်လိုက်ဖက်ညီမှုကို ချိုးဖောက်သည့် ABI၊ Python API နှင့် C-API တွင် အပြောင်းအလဲများ ပြုလုပ်ထားသည်။ ဥပမာအားဖြင့်၊ NumPy 1.x ဖြင့် ပြုစုထားသော SciPy စာကြည့်တိုက်သည် NumPy 2.0 နှင့် လုပ်ဆောင်ရန် ပြန်လည်ပေါင်းစည်းခြင်း လိုအပ်ပါမည်။ အချို့ကိစ္စများတွင် NumPy 2.0 ကို အပလီကေးရှင်းများတွင် အသုံးပြုရန် ကုဒ်အပြောင်းအလဲများ လိုအပ်နိုင်သည်။
အထင်ရှားဆုံး ချို့ယွင်းချက်မှာ scalar expression များ၏ တိကျမှုကို ထိန်းသိမ်းခြင်းနှင့် သက်ဆိုင်ပြီး၊ ဥပမာအားဖြင့်၊ "np.float32(3) + 3" သည် ယခုအခါ float64 မဟုတ်ဘဲ float32 အမျိုးအစား တန်ဖိုးကို ပြန်ပေးမည်ဖြစ်ပြီး၊ အမျိုးအစားများစွာပါသော expression များတွင်၊ အမြင့်ဆုံးတိကျမှုရှိသော type ကို ရလဒ်အတွက် အသုံးပြုမည်ဖြစ်ပြီး၊ ဆိုလိုသည်မှာ "np.array([3], dtype=np.float32) + np.float64(3)" သည် float64 အမျိုးအစား တန်ဖိုးကို ပြန်ပေးမည်ဖြစ်သည်။ platform တွင် အသုံးပြုသော default integer အမျိုးအစားများကို ပြောင်းလဲထားပါသည်။ Windows — 64-bit စနစ်များတွင် 64-bit integer အမျိုးအစားကို ယခုအခါ အသုံးပြုထားပြီး 32-bit စနစ်များတွင် 32-bit အမျိုးအစားကို အသုံးပြုထားသည် (ယခင်က C-type analogue 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" namespace မှ ရွှေ့ထားပြီး၊ ကန့်ကွက်ထားသည် သို့မဟုတ် ဖယ်ရှားထားသည်။
np.lib namespace ကို ရှင်းလင်းခဲ့သည်။ ပင်မ namespace ရှိ အရာဝတ္ထု အရေအတွက်ကို 10% နှင့် numpy.lib namespace တွင် 80% လျှော့ချထားသည်။ numpy.core namespace ကို သီးသန့်သို့ ရွှေ့လိုက်ပါပြီ။ np.ndarray နှင့် np.generic အတန်းများမှ နည်းလမ်းအချို့ကို ဖယ်ရှားခဲ့သည်။ string operations ဖြင့် namespace numpy.stringsf အသစ်ကို ဖန်တီးခဲ့သည်။
အင်္ဂါရပ်အသစ်များတွင် float32 နှင့် numpy.fft လုပ်ဆောင်ချက်များအားလုံးတွင် longdouble အမျိုးအစားများအတွက် ပံ့ပိုးမှု၊ ပင်မ namespace ရှိ စံ Array API အတွက် ပံ့ပိုးမှု၊ namespace အသစ်နှင့် ပြောင်းလဲနိုင်သော အရှည်စာကြောင်းများအတွက် အမျိုးအစားများ ပါဝင်သည်။ စွမ်းဆောင်ရည်အကောင်းဆုံးဖြစ်အောင် Intel x86-simd-sort နှင့် Google Highway libraries များကိုအသုံးပြုပြီး string functions အမျိုးအစားအလိုက်၊ argsort၊ partition နှင့် argpartition၊ numpy.char module ရှိ ပုံသေကြိုးများဖြင့် လုပ်ဆောင်မှုများကို အရှိန်မြှင့်ထားသည်။ API အသစ်ကို ထည့်ထားသည်။
ခြေရာခံခြင်းနှင့် စူးစမ်းစစ်ဆေးခြင်းအတွက် opt_func_info
source: opennet.ru
