πŸ” Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ sympy python для Ρ‡Π΅Π³ΠΎ: ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

Sympy Π² Python: для Ρ‡Π΅Π³ΠΎ?

Sympy - это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… матСматичСских вычислСний для языка программирования Python. Она прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ матСматичСскиС Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ, Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

from sympy import symbols, diff, sin

x = symbols('x')
f = x**2 + sin(x)

df = diff(f, x)  # ВычислСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ x
print(df)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

2*x + cos(x)

Π’Π°ΠΊΠΆΠ΅ Sympy ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для символьного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ. НапримСр:

from sympy import symbols, Eq, solve

x = symbols('x')
eq = Eq(x**2 - 3, 0)

solution = solve(eq, x)  # РСшСниС уравнСния eq ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ x
print(solution)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

[-sqrt(3), sqrt(3)]

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Sympy - это мощная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ матСматичСскими выраТСниями Π² Python, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… областях, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π½Π°ΡƒΡ‡Π½Ρ‹Π΅ исслСдования, инТСнСрия ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

sympy python для Ρ‡Π΅Π³ΠΎ

Python - Π»ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ язык программирования Π² области Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСний ΠΈ числСнного Π°Π½Π°Π»ΠΈΠ·Π°. Он прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹Π΅ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ. Одним ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… инструмСнтов являСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SymPy.

SymPy - это ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт возмоТности ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… вычислСний. Он основан Π½Π° матСматичСской символьной Π°Π»Π³Π΅Π±Ρ€Π΅ ΠΈ прСдоставляСт многочислСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ возмоТности для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с символами, выраТСниями, уравнСниями ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ вычислСниями.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ SymPy

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SymPy ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ возмоТностСй. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ….

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ ΠΈ выраТСния

Π’ SymPy ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ матСматичСскиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π­Ρ‚ΠΎ отличаСтся ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ присваивания Π² Python, Π³Π΄Π΅ пСрСмСнная ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ числом ΠΈΠ»ΠΈ строкой. SymPy позволяСт Π½Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с символами ΠΊΠ°ΠΊ с матСматичСскими ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ слоТныС выраТСния.


    from sympy import symbols, Eq

    x, y = symbols('x y')
    expr = Eq(x + y, 5)
    

УравнСния ΠΈ систСмы ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SymPy ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ уравнСния ΠΈ систСмы ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ аналитичСски. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ слоТных матСматичСских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈΠ»ΠΈ нахоТдСния Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.


    from sympy import solve

    sol = solve(expr, x)
    

Π”ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

SymPy прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вычислСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΠΎΠ² символьно. Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Ρ‹.


    from sympy import diff, integrate

    diff_expr = diff(expr, x)
    int_expr = integrate(expr, x)
    

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ линСйная Π°Π»Π³Π΅Π±Ρ€Π°

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SymPy Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€ΠΎΠΉ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌΠΈ ΠΈ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ систСмы Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ.


    from sympy import Matrix, eye

    A = Matrix([[1, 2], [3, 4]])
    B = Matrix([x, y])
    C = eye(2)

    mult_expr = A * B
    inv_expr = A.inv()
    solve_eq = A * B - C
    

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

SymPy являСтся ΠΌΠΎΡ‰Π½Ρ‹ΠΌ инструмСнтом для ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… вычислСний Π² Python. Он прСдоставляСт ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с символами, уравнСниями, Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€ΠΎΠΉ. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для аналитичСской Ρ€Π°Π±ΠΎΡ‚Ρ‹, числСнного Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ матСматичСских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SymPy являСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ доступной ΠΈ настраиваСмой для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ Π²Π°ΠΌ матСматичСскими ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π‘ΡƒΠ΄Π΅Ρ‚ дСнь ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ΄. SymPy откройся, SymPy отдайся! ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ SymPy Python

ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ SymPy для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с систСмами ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ Π² Python

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SymPy для алгСбраичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² Python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”Ž Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ append Π² Python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ объяснСниС

πŸ” Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ np Π² ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΠΏΠΈΡ‚ΠΎΠ½Π°? 🐍

πŸ’‘ Как ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ числа Π² спискС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python: простоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ” Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ sympy python для Ρ‡Π΅Π³ΠΎ: ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

πŸ”§ Как ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ символ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π² Python: идСальноС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ” Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² Python | ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ руководство

πŸ“š Как пСрСвСсти ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π² список ΠΏΠΈΡ‚ΠΎΠ½: простой Π³ΠΈΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ