سائنسی کمپیوٹنگ 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» теперь вернёт значение с типом float32, а не float64, а в выражениях с несколькими типами для результата будет использован тип с наивысшей точностью, т.е. «np.array([3], dtype=np.float32) + np.float64(3)» вернёт значение с типом float64. Изменены целочисленные типы, применяемые по умолчанию на платфoрме Windows — на 64-разрядных системах теперь применяется 64-разрядный целый тип, а на 32-разрядных — 32-разрядный (ранее использовался аналог Си-типа 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 عوامی اور نجی APIs کے درمیان زیادہ واضح علیحدگی فراہم کرتا ہے اور ایک نیا ماڈیول ڈھانچہ متعارف کراتا ہے۔ تقریباً 100 فنکشنز، ماڈیولز، اور مستقل کو مرکزی "np" نام کی جگہ سے باہر منتقل کر دیا گیا ہے، فرسودہ یا ہٹا دیا گیا ہے۔
np.lib نام کی جگہ کو صاف کیا۔ مرکزی نام کی جگہ میں اشیاء کی تعداد میں 10%، اور numpy.lib نام کی جگہ میں 80% کمی کی گئی ہے۔ numpy.core نام کی جگہ کو نجی میں منتقل کر دیا گیا ہے۔ np.ndarray اور np.generic کلاسوں سے کچھ طریقے ہٹا دیے گئے۔ سٹرنگ آپریشنز کے ساتھ ایک نیا نام کی جگہ numpy.stringsf بنایا۔
نئی خصوصیات میں تمام numpy.fft فنکشنز میں float32 اور longdouble اقسام کے لیے سپورٹ، مین نیم اسپیس میں معیاری Array API کے لیے سپورٹ، ایک نئی نیم اسپیس اور متغیر لمبائی کے تاروں کی اقسام شامل ہیں۔ انٹیل x86-simd-sort اور Google ہائی وے لائبریریوں کا استعمال کرتے ہوئے کارکردگی کی اصلاح کی گئی ہے سٹرنگ فنکشنز کی ترتیب، argsort، پارٹیشن اور argpartition کے لیے، numpy.char ماڈیول میں فکسڈ سٹرنگ کے ساتھ آپریشنز کو تیز کر دیا گیا ہے۔ نیا API شامل کیا گیا۔
ٹریسنگ اور خود شناسی کے لیے opt_func_info۔
ماخذ: opennet.ru
