Phát hành thư viện Python cho tính toán khoa học NumPy 2.0.0

Đã có bản phát hành thư viện Python dành cho tính toán khoa học NumPy 2.0.0, tập trung vào làm việc với các mảng và ma trận đa chiều, đồng thời cung cấp một tập hợp lớn các hàm với việc triển khai các thuật toán khác nhau liên quan đến việc sử dụng ma trận. NumPy là một trong những thư viện phổ biến nhất được sử dụng để tính toán khoa học. Mã dự án được viết bằng Python sử dụng tối ưu hóa trong C và được phân phối theo giấy phép BSD.

NumPy 2.0.0 đánh dấu bản phát hành quan trọng đầu tiên kể từ năm 2006.
Ngoài các tính năng mới và tối ưu hóa hiệu suất, phiên bản mới còn bao gồm các thay đổi đối với ABI, Python API và C-API phá vỡ khả năng tương thích ngược. Ví dụ: thư viện SciPy được biên dịch bằng NumPy 1.x sẽ yêu cầu biên dịch lại để hoạt động với NumPy 2.0. Trong một số trường hợp, có thể cần phải thay đổi mã để sử dụng NumPy 2.0 trong các ứng dụng.

Наиболее крупное нарушение связано с сохранением точности скалярных выражений, например, «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).

Một số định nghĩa trong C-API đã được thay thế hoặc xóa, ví dụ: cấu trúc PyArray_Descr đã được thay đổi. Số thứ nguyên và đối số tối đa được đặt thông qua macro NPY_MAXDIMS và NPY_MAXARGS đã tăng lên 64. Tất cả các loại phức tạp đã được chuyển sang sử dụng các loại tiêu chuẩn từ đặc tả C99 (cfloat_t, cdouble_t, clongdouble_t). Đã thêm API C mới để tạo các loại dtype tùy chỉnh. Các hàm khởi tạo đơn giản hóa mới PyArray_ImportNumPyAPI và PyUFunc_ImportUFuncAPI đã được đề xuất.

API Python cung cấp sự phân tách rõ ràng hơn giữa API công khai và API riêng tư, đồng thời giới thiệu cấu trúc mô-đun mới. Khoảng 100 hàm, mô-đun và hằng số đã được chuyển ra khỏi vùng tên "np" chính, không được dùng nữa hoặc bị xóa.
Dọn dẹp không gian tên np.lib. Số lượng đối tượng trong không gian tên chính đã giảm 10% và trong không gian tên numpy.lib giảm 80%. Không gian tên numpy.core đã được chuyển sang chế độ riêng tư. Đã xóa một số phương thức khỏi các lớp np.ndarray và np.generic. Đã tạo một không gian tên mới numpy.stringsf với các thao tác chuỗi.

Các tính năng mới bao gồm hỗ trợ các loại float32 và longdouble trong tất cả các hàm numpy.fft, hỗ trợ API Array tiêu chuẩn trong không gian tên chính, một không gian tên mới và các loại cho chuỗi có độ dài thay đổi. Tối ưu hóa hiệu suất đã được thực hiện bằng cách sử dụng thư viện Intel x86-simd-sort và Google Highway cho các chức năng chuỗi sắp xếp, argsort, phân vùng và phân vùng đối số, các hoạt động với chuỗi cố định trong mô-đun numpy.char đã được tăng tốc. Đã thêm API mới
opt_func_info để theo dõi và xem xét nội tâm.

Nguồn: opennet.ru

Mua dịch vụ lưu trữ đáng tin cậy cho các trang web có bảo vệ DDoS, máy chủ VPS VDS 🔥 Mua dịch vụ hosting website đáng tin cậy với bảo vệ DDoS, máy chủ VPS VDS | ProHoster