NumPy Scientific Computing Python Library 2.0.0 เปิดตัวแล้ว

มีการเปิดตัวไลบรารี Python สำหรับการคำนวณเชิงวิทยาศาสตร์ NumPy 2.0.0 โดยเน้นไปที่การทำงานกับอาร์เรย์และเมทริกซ์หลายมิติ และยังให้คอลเลกชันฟังก์ชันจำนวนมากพร้อมการนำอัลกอริธึมต่างๆ ที่เกี่ยวข้องกับการใช้เมทริกซ์ไปใช้ NumPy เป็นหนึ่งในห้องสมุดยอดนิยมที่ใช้สำหรับการคำนวณทางวิทยาศาสตร์ รหัสโครงการเขียนด้วยภาษา Python โดยใช้การปรับให้เหมาะสมใน C และเผยแพร่ภายใต้ใบอนุญาต BSD

NumPy 2.0.0 ถือเป็นการเปิดตัวครั้งสำคัญครั้งแรกนับตั้งแต่ปี 2006
ในเวอร์ชันใหม่ นอกเหนือจากคุณสมบัติใหม่และการเพิ่มประสิทธิภาพการทำงานแล้ว ยังมีการเปลี่ยนแปลงใน ABI, Python API และ C-API ซึ่งละเมิดความเข้ากันได้แบบย้อนหลัง ตัวอย่างเช่น ไลบรารี SciPy ที่คอมไพล์ด้วย NumPy 1.x จะต้องมีการคอมไพล์ใหม่จึงจะทำงานกับ NumPy 2.0 ได้ ในบางกรณี อาจจำเป็นต้องเปลี่ยนแปลงโค้ดเพื่อใช้ NumPy 2.0 ในแอปพลิเคชัน

ข้อผิดพลาดที่สำคัญที่สุดเกี่ยวข้องกับการรักษาความแม่นยำของนิพจน์สเกลาร์ ตัวอย่างเช่น "np.float32(3) + 3" จะส่งคืนค่าประเภท float32 ไม่ใช่ float64 และในนิพจน์ที่มีหลายประเภท ประเภทที่มีความแม่นยำสูงสุดจะถูกใช้สำหรับผลลัพธ์ กล่าวคือ "np.array([3], dtype=np.float32) + np.float64(3)" จะส่งคืนค่าประเภท float64 ประเภทจำนวนเต็มเริ่มต้นที่ใช้บนแพลตฟอร์มได้ถูกเปลี่ยนแปลงแล้ว Windows — บนระบบ 64 บิต จะใช้ชนิดข้อมูลจำนวนเต็ม 64 บิต และบนระบบ 32 บิต จะใช้ชนิดข้อมูล 32 บิต (ก่อนหน้านี้ใช้ชนิดข้อมูล long ซึ่งเทียบเท่ากับชนิดข้อมูลในภาษา C แต่ปัจจุบันใช้ np.intp ที่เทียบเท่ากัน)

คำจำกัดความบางอย่างใน C-API ได้ถูกแทนที่หรือลบออก ตัวอย่างเช่น โครงสร้าง PyArray_Descr มีการเปลี่ยนแปลง จำนวนมิติข้อมูลและอาร์กิวเมนต์สูงสุดที่ตั้งค่าผ่านมาโคร NPY_MAXDIMS และ NPY_MAXARGS เพิ่มขึ้นเป็น 64 ประเภทที่ซับซ้อนทั้งหมดได้เปลี่ยนไปใช้ประเภทมาตรฐานจากข้อกำหนด C99 (cfloat_t, cdouble_t, clongdouble_t) เพิ่ม C API ใหม่สำหรับการสร้าง dtypes ที่กำหนดเอง มีการเสนอฟังก์ชันการเริ่มต้นที่เรียบง่ายใหม่ PyArray_ImportNumPyAPI และ PyUFunc_ImportUFuncAPI

Python API ให้การแยกที่ชัดเจนยิ่งขึ้นระหว่าง API สาธารณะและส่วนตัว และแนะนำโครงสร้างโมดูลใหม่ ฟังก์ชัน โมดูล และค่าคงที่ประมาณ 100 รายการได้ถูกย้ายออกจากเนมสเปซ "np" หลัก เลิกใช้แล้ว หรือถูกลบออก
ทำความสะอาดเนมสเปซ np.lib จำนวนอ็อบเจ็กต์ในเนมสเปซหลักลดลง 10% และในเนมสเปซ numpy.lib ลง 80% เนมสเปซ numpy.core ถูกย้ายไปที่ส่วนตัวแล้ว ลบวิธีการบางอย่างออกจากคลาส np.ndarray และ np.generic สร้างเนมสเปซใหม่ numpy.stringsf พร้อมการดำเนินการสตริง

คุณสมบัติใหม่ประกอบด้วยการรองรับประเภท float32 และ longdouble ในฟังก์ชัน numpy.fft ทั้งหมด การรองรับ Array API มาตรฐานในเนมสเปซหลัก เนมสเปซใหม่และประเภทสำหรับสตริงที่มีความยาวผันแปรได้ การเพิ่มประสิทธิภาพประสิทธิภาพดำเนินการโดยใช้ไลบรารี Intel x86-simd-sort และ Google Highway สำหรับการเรียงลำดับฟังก์ชันสตริง, argsort, พาร์ติชันและ argpartition การดำเนินการกับสตริงคงที่ในโมดูล numpy.char ได้รับการเร่งให้เร็วขึ้น เพิ่ม API ใหม่แล้ว
opt_func_info สำหรับการติดตามและการวิปัสสนา

ที่มา: opennet.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster