సైంటిఫిక్ కంప్యూటింగ్ NumPy 2.0.0 కోసం పైథాన్ లైబ్రరీ విడుదల అందుబాటులో ఉంది, మల్టీడైమెన్షనల్ శ్రేణులు మరియు మాత్రికలతో పని చేయడంపై దృష్టి సారించింది మరియు మాత్రికల వినియోగానికి సంబంధించిన వివిధ అల్గారిథమ్ల అమలుతో ఫంక్షన్ల యొక్క పెద్ద సేకరణను అందిస్తుంది. శాస్త్రీయ గణనల కోసం ఉపయోగించే అత్యంత ప్రజాదరణ పొందిన లైబ్రరీలలో NumPy ఒకటి. ప్రాజెక్ట్ కోడ్ C లో ఆప్టిమైజేషన్లను ఉపయోగించి పైథాన్లో వ్రాయబడింది మరియు BSD లైసెన్స్ క్రింద పంపిణీ చేయబడుతుంది.
NumPy 2.0.0 2006 తర్వాత మొదటి ముఖ్యమైన విడుదల.
కొత్త ఫీచర్లు మరియు పనితీరు ఆప్టిమైజేషన్లతో పాటు, కొత్త వెర్షన్లో ABI, పైథాన్ 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) నుండి ప్రామాణిక రకాలను ఉపయోగించేందుకు మార్చబడ్డాయి. అనుకూల dtypeలను సృష్టించడం కోసం కొత్త C API జోడించబడింది. కొత్త సరళీకృత ప్రారంభ విధులు PyArray_ImportNumPyAPI మరియు PyUFunc_ImportUFuncAPI ప్రతిపాదించబడ్డాయి.
పైథాన్ API పబ్లిక్ మరియు ప్రైవేట్ APIల మధ్య మరింత స్పష్టమైన విభజనను అందిస్తుంది మరియు కొత్త మాడ్యూల్ నిర్మాణాన్ని పరిచయం చేస్తుంది. దాదాపు 100 ఫంక్షన్లు, మాడ్యూల్స్ మరియు స్థిరాంకాలు ప్రధాన "np" నేమ్స్పేస్ నుండి తరలించబడ్డాయి, నిలిపివేయబడ్డాయి లేదా తీసివేయబడ్డాయి.
np.lib నేమ్స్పేస్ శుభ్రం చేయబడింది. ప్రధాన నేమ్స్పేస్లో ఆబ్జెక్ట్ల సంఖ్య 10% తగ్గింది మరియు numpy.lib నేమ్స్పేస్లో 80% తగ్గింది. numpy.core నేమ్స్పేస్ ప్రైవేట్కి తరలించబడింది. np.ndarray మరియు np.generic తరగతుల నుండి కొన్ని పద్ధతులు తీసివేయబడ్డాయి. స్ట్రింగ్ ఆపరేషన్లతో కొత్త నేమ్స్పేస్ numpy.stringsf సృష్టించబడింది.
కొత్త ఫీచర్లలో float32 మరియు అన్ని numpy.fft ఫంక్షన్లలో లాంగ్డబుల్ రకాలకు మద్దతు, ప్రధాన నేమ్స్పేస్లో ప్రామాణిక అర్రే APIకి మద్దతు, కొత్త నేమ్స్పేస్ మరియు వేరియబుల్ లెంగ్త్ స్ట్రింగ్ల రకాలు ఉన్నాయి. స్ట్రింగ్ ఫంక్షన్ల క్రమబద్ధీకరణ, ఆర్గ్సార్ట్, విభజన మరియు ఆర్గ్పార్టీషన్ కోసం Intel x86-simd-sort మరియు Google హైవే లైబ్రరీలను ఉపయోగించి పనితీరు ఆప్టిమైజేషన్ నిర్వహించబడింది, numpy.char మాడ్యూల్లో స్థిర స్ట్రింగ్లతో కార్యకలాపాలు వేగవంతం చేయబడ్డాయి. కొత్త API జోడించబడింది
ట్రేసింగ్ మరియు ఆత్మపరిశీలన కోసం opt_func_info.
మూలం: opennet.ru
