Keluaran perpustakaan Python untuk pengkomputeran saintifik NumPy 2.0.0 tersedia, memfokuskan pada bekerja dengan tatasusunan dan matriks berbilang dimensi, dan juga menyediakan koleksi fungsi yang besar dengan pelaksanaan pelbagai algoritma yang berkaitan dengan penggunaan matriks. NumPy ialah salah satu perpustakaan paling popular yang digunakan untuk pengiraan saintifik. Kod projek ditulis dalam Python menggunakan pengoptimuman dalam C dan diedarkan di bawah lesen BSD.
NumPy 2.0.0 menandakan keluaran penting pertama sejak 2006.
Selain ciri baharu dan pengoptimuman prestasi, versi baharu ini termasuk perubahan pada ABI, Python API dan C-API yang memecahkan keserasian ke belakang. Sebagai contoh, perpustakaan SciPy yang disusun dengan NumPy 1.x akan memerlukan penyusunan semula untuk berfungsi dengan NumPy 2.0. Dalam sesetengah kes, perubahan kod mungkin diperlukan untuk menggunakan NumPy 2.0 dalam aplikasi.
Pepijat yang paling ketara berkaitan dengan pemeliharaan ketepatan ungkapan skalar, contohnya, "np.float32(3) + 3" kini akan mengembalikan nilai jenis float32, bukan float64, dan dalam ungkapan dengan berbilang jenis, jenis dengan ketepatan tertinggi akan digunakan untuk hasilnya, iaitu "np.array([3], dtype=np.float32) + np.float64(3)" akan mengembalikan nilai jenis float64. Jenis integer lalai yang digunakan pada platform telah diubah. Windows — pada sistem 64-bit, jenis integer 64-bit kini digunakan, dan pada sistem 32-bit, jenis 32-bit (sebelum ini, analog jenis-C long digunakan, tetapi kini np.intp yang setara).
Beberapa definisi dalam C-API telah diganti atau dialih keluar, contohnya, struktur PyArray_Descr telah diubah. Bilangan maksimum dimensi dan hujah yang ditetapkan melalui makro NPY_MAXDIMS dan NPY_MAXARGS telah ditingkatkan kepada 64. Semua jenis kompleks telah ditukar kepada menggunakan jenis standard daripada spesifikasi C99 (cfloat_t, cdouble_t, clongdouble_t). Menambah C API baharu untuk mencipta dtype tersuai. Fungsi permulaan dipermudahkan baharu PyArray_ImportNumPyAPI dan PyUFunc_ImportUFuncAPI telah dicadangkan.
API Python menyediakan pemisahan yang lebih jelas antara API awam dan peribadi dan memperkenalkan struktur modul baharu. Kira-kira 100 fungsi, modul dan pemalar telah dialihkan keluar daripada ruang nama "np" utama, ditamatkan atau dialih keluar.
Membersihkan ruang nama np.lib. Bilangan objek dalam ruang nama utama telah dikurangkan sebanyak 10%, dan dalam ruang nama numpy.lib sebanyak 80%. Ruang nama numpy.core telah dialihkan kepada peribadi. Mengalih keluar beberapa kaedah daripada kelas np.ndarray dan np.generic. Mencipta ruang nama baharu numpy.stringsf dengan operasi rentetan.
Ciri baharu termasuk sokongan untuk jenis float32 dan longdouble dalam semua fungsi numpy.fft, sokongan untuk API Array standard dalam ruang nama utama, ruang nama baharu dan jenis untuk rentetan panjang berubah-ubah. Pengoptimuman prestasi telah dijalankan menggunakan pustaka Intel x86-simd-sort dan Google Highway untuk urutan fungsi rentetan, argsort, partition dan argpartition, operasi dengan rentetan tetap dalam modul numpy.char telah dipercepatkan. API baharu ditambah
opt_func_info untuk pengesanan dan introspeksi.
Sumber: opennet.ru
