É um sistema de computação algébrica implementado em Python. Tá, mas o que usar entre SymPy e Sage? Leia isso: https://stackoverflow.com/questions/17847902/what-is-the-difference-between-sympy-and-sage
# Ele opera normalmente
2+2*2/1
6
# Ele fatora
factor(136)
2^3 * 17
# Ele lida com matriz
A = matrix(4,4, range(16)); A
[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15]
# Ele fatora polinômios
factor(x^4 - 30*x^3 - 80*x^2)
(x^2 - 30*x - 80)*x^2
# Ele lida com latex
k = 1/(sqrt(3)*I + 3/4 + sqrt(73)*5/9); k
latex(k)
\frac{36}{20 \, \sqrt{73} + 36 i \, \sqrt{3} + 27}
# Você pode definir funções
def is_divisible_by(number, divisor=2):
return number%divisor == 0
is_divisible_by(4378219, 3)
False
# Plotting
c = circle((0,0), 1, rgbcolor=(1,1,0))
c.show()
#c.save('filename.png')
plot(cos, (-5,5))
def f(t):
return t^2
plot(f, (-2,2))
# Plotting de curvas
x = var('x')
parametric_plot((cos(x)^3,sin(x)^3),(x,0,2*pi),rgbcolor=hue(0.6))
# Differentiating
u = var('u')
diff(sin(u), u)
cos(u)
# Calculando o gradiente
r = vector((cos(u), sin(u)))
diff(r, u)
(-sin(u), cos(u))
# Calculando a norma
norm(r)
sqrt(abs(cos(u))^2 + abs(sin(u))^2)
# Produto escalar
r.dot_product(r)
cos(u)^2 + sin(u)^2
# Integrando uma função de forma indefinida
from sage.symbolic.integration.integral import indefinite_integral
indefinite_integral(log(x), x)
x*log(x) - x
# Agora de uma forma definida
from sage.symbolic.integration.integral import definite_integral
definite_integral(sin(x),x,0,pi)
2
t = var('t')
assume(t>0)
definite_integral(sqrt(cos(u)^2 + sin(u)^2), u, 0, t)
t