ИздаванС Π½Π° Python Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π·Π° Π½Π°ΡƒΡ‡Π½ΠΈ изчислСния NumPy 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-Π±ΠΈΡ‚ΠΎΠ² (ΠΏΠΎ-Ρ€Π°Π½ΠΎ сС използвашС Π°Π½Π°Π»ΠΎΠ³ Π½Π° C Ρ‚ΠΈΠΏΠ° long, Π° сСга Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚ Π½Π° np.intp).

Някои опрСдСлСния Π² C-API са Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, структурата PyArray_Descr Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½Π°. ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡΡ‚ Π±Ρ€ΠΎΠΉ измСрСния ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ, Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ Ρ‡Ρ€Π΅Π· макроситС NPY_MAXDIMS ΠΈ NPY_MAXARGS, Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ Π΄ΠΎ 64. Всички комплСксни Ρ‚ΠΈΠΏΠΎΠ²Π΅ са ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π»ΠΈ към ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° стандартни Ρ‚ΠΈΠΏΠΎΠ²Π΅ ΠΎΡ‚ спСцификацията C99 (cfloat_t, cdouble_t, clongdouble_t). Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² C API Π·Π° създаванС Π½Π° собствСни dtype. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ опростСни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ 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, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° стандартния API Array Π² основното пространство, Π½ΠΎΠ²ΠΎ пространство ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π·Π° стринговС с ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° дълТина. Π˜Π·Π²ΡŠΡ€ΡˆΠ΅Π½Π° Π΅ оптимизация Π½Π° производитСлността с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ Intel x86-simd-sort ΠΈ Google Highway Π·Π° стринг Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sort, argsort, partition ΠΈ argpartition, ускорСни са ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ с фиксирани стринговС Π² ΠΌΠΎΠ΄ΡƒΠ»Π° numpy.char. Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² API
opt_func_info Π·Π° трасировка ΠΈ интроспСкция.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster