Page 219 - 6734
P. 219
в аналітичній (символьній) формі на відміну від чисельних
обчислень в SciPy [14, 25, 31]. Її можна розглядати як вільну
альтернативу системам символьної математики Maple, Mathcad,
Mathematica. Для прикладу SymPy дозволяє інтегрувати,
диференціювати, спрощувати вирази, розв’язувати рівняння у
символьній формі.
from sympy import *
x,y,lamda=symbols('x y lamda') # визначити змінні
expr=x+y # вираз
expr2=expr+x # вираз
print expr2.subs(y,2) # вираз шляхом підстановки y=2
print srepr(expr2) # низькорівневе представлення
виразу
print expr2.args # кортеж усіх складових виразу
print expr2.atoms() # атоми виразу
print expr2.atoms(Symbol) # атоми (типу Symbol)
виразу
print expr2.subs([(x,5),(y,2)]).evalf() # підставити
у вираз і обчислити
#print expr2.subs({x:5, y:2}).evalf() # або так
#print expr2.evalf(subs={x:5, y:2}) # або так
#print N(expr2, subs={x:5, y:2}) # або так
print sympify("x**2-1/2") # перетворити рядок у вираз
SymPy
expr3=sin(x) # вираз
f=lambdify(x, expr3,"math") # функція для швидкого
розрахунку числових значень. Третім аргументом може
бути "math" або "numpy" або, наприклад, {"sin":mysin}
print f(0.1) # числове значення
expr4=Integral(sqrt(1/x), x) # вираз-інтеграл
pprint(expr4, use_unicode=False) # виведення в
Unicode (True) або ASCII (False). Для Unicode
використовуйте для виведення IPython QTConsole або
218