Π Π΅Π»ΠΈΠ· Π½Π° 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