Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

NOTEBOOKS TUTORIAL SAGEMATH

Views: 4541
%typeset_mode True

CALCULO COM MATEMÁTICA SIMBÓLICA

SAGE usa o motor do MAXIMA para realizar calculos de matemática simbólica. Dessa forma, é possível integrar e diferenciar funções simbolicamente, resolver EDOs de primeira ordem, grande parte das EDOs lineares de segunda ordem, e ainda tem implementado o método da transformada de Laplace para EDOs lineares de qualquer ordem. O MAXIMA também suporta uma série de funções especiais, é capaz de criar gráficos via gnu-plot, e possui métodos para resolver equações polinômiais e manipular matrizes (por exemplo, escalonar e calcular autovalores e autovetores).

Carregando Variáveis e Testando o Calculo Simbólico

A variável "x" por pdrão ja vem implementada como variável simbólica. Para trabalhar com calculos simbólicos, utilizamos o comando:

var('variável') ou %var variável
var('w') # ou %var p
w\displaystyle w

Testando

w*w ; p + 2*p
w2\displaystyle w^{2}
3p\displaystyle 3 \, p
# Resetando as variáveis reset() w
Error in lines 3-3 Traceback (most recent call last): File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 947, in execute exec compile(block+'\n', '', 'single') in namespace, locals File "", line 1, in <module> NameError: name 'w' is not defined
# Criando novamente a variável simbólica W var('w')
w\displaystyle w
# veja que a variável 'x' ja é por padrão uma variável definida no SAGE. 'y' não foi declarado, veja o que acontece. 3*x + x; w^2 + w^2/2 ; y + 2*y
12\displaystyle 12
32w2\displaystyle \frac{3}{2} \, w^{2}
Error in lines 2-2 Traceback (most recent call last): File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 947, in execute exec compile(block+'\n', '', 'single') in namespace, locals File "", line 1, in <module> NameError: name 'y' is not defined
t = w^2 + 5 tr = -2*w^2 + 5*w -1 show(t) ; show(tr)
w2+5\displaystyle w^{2} + 5
2w2+5w1\displaystyle -2 \, w^{2} + 5 \, w - 1
t + tr
w2+5w+4\displaystyle -w^{2} + 5 \, w + 4
a = [x, x^2, x^3] b = [2, 2*x, 2*x^3] a; b
[x\displaystyle x, x2\displaystyle x^{2}, x3\displaystyle x^{3}]
[2\displaystyle 2, 2x\displaystyle 2 \, x, 2x3\displaystyle 2 \, x^{3}]
# concatenar as duas listas a + b;
[x\displaystyle x, x2\displaystyle x^{2}, x3\displaystyle x^{3}, 2\displaystyle 2, 2x\displaystyle 2 \, x, 2x3\displaystyle 2 \, x^{3}]
x = 3 c = a+b x ;a; b; c
3\displaystyle 3
[x\displaystyle x, x2\displaystyle x^{2}, x3\displaystyle x^{3}]
[2\displaystyle 2, 2x\displaystyle 2 \, x, 2x3\displaystyle 2 \, x^{3}]
[x\displaystyle x, x2\displaystyle x^{2}, x3\displaystyle x^{3}, 2\displaystyle 2, 2x\displaystyle 2 \, x, 2x3\displaystyle 2 \, x^{3}]

No exemplo acima, foi atribuído um valor x = 2 para a variável e ainda assim não o cálculo não foi realizado. Porém, qualquer outra expressão a partir de agora contendo a variável "x" será avaliada. O SAGE não apresenta alteração imediata de valor em estruturas ja montadas. Para efetuar o calculo nos vetores, é só atribuir novamete os vetores das variáveis a,b e c

a = [x, x^2, x^3] b = [2, 2*x, 2*x^3] c = a +b; a ; b ; c
[3\displaystyle 3, 9\displaystyle 9, 27\displaystyle 27]
[2\displaystyle 2, 6\displaystyle 6, 54\displaystyle 54]
[3\displaystyle 3, 9\displaystyle 9, 27\displaystyle 27, 2\displaystyle 2, 6\displaystyle 6, 54\displaystyle 54]

A partir de agora, qualquer expressão contendo a variável "x", será efetuado o calculo com x=3

# x = 3 como atribuído acima wt = x^3 - log(x) + sin(x) wt ; n(wt)
log(3)+sin(3)+27\displaystyle -\log\left(3\right) + \sin\left(3\right) + 27
26.0425077193918\displaystyle 26.0425077193918

Algebra Linear Simbólica

É possível trabalhar com matrizes e vetores simbólicos. Basta declarar as variáveis e realizar a execução

var("a11 ,a12, a21, a22, b11, b21")
(a11\displaystyle a_{11}, a12\displaystyle a_{12}, a21\displaystyle a_{21}, a22\displaystyle a_{22}, b11\displaystyle b_{11}, b21\displaystyle b_{21})
#vetor coluna A = matrix([[a11, a12], [a21, a22]]) B = vector([b11, b21]) A ; B;
(a11a12a21a22)\displaystyle \left(\begin{array}{rr} a_{11} & a_{12} \\ a_{21} & a_{22} \end{array}\right)
(b11,b21)\displaystyle \left(b_{11},\,b_{21}\right)
det(A); A.det()
a12a21+a11a22\displaystyle -a_{12} a_{21} + a_{11} a_{22}
a12a21+a11a22\displaystyle -a_{12} a_{21} + a_{11} a_{22}
A\B
(a12(a21b11a11b21)a11(a12a21a11a22)+b11a11,a21b11a11b21a12a21a11a22)\displaystyle \left(-\frac{a_{12} {\left(\frac{a_{21} b_{11}}{a_{11}} - b_{21}\right)}}{a_{11} {\left(\frac{a_{12} a_{21}}{a_{11}} - a_{22}\right)}} + \frac{b_{11}}{a_{11}},\,\frac{\frac{a_{21} b_{11}}{a_{11}} - b_{21}}{\frac{a_{12} a_{21}}{a_{11}} - a_{22}}\right)
A.inverse(); A^(-1)
(1a11a12a21a112(a12a21a11a22)a12a11(a12a21a11a22)a21a11(a12a21a11a22)1a12a21a11a22)\displaystyle \left(\begin{array}{rr} \frac{1}{a_{11}} - \frac{a_{12} a_{21}}{a_{11}^{2} {\left(\frac{a_{12} a_{21}}{a_{11}} - a_{22}\right)}} & \frac{a_{12}}{a_{11} {\left(\frac{a_{12} a_{21}}{a_{11}} - a_{22}\right)}} \\ \frac{a_{21}}{a_{11} {\left(\frac{a_{12} a_{21}}{a_{11}} - a_{22}\right)}} & -\frac{1}{\frac{a_{12} a_{21}}{a_{11}} - a_{22}} \end{array}\right)
(1a11a12a21a112(a12a21a11a22)a12a11(a12a21a11a22)a21a11(a12a21a11a22)1a12a21a11a22)\displaystyle \left(\begin{array}{rr} \frac{1}{a_{11}} - \frac{a_{12} a_{21}}{a_{11}^{2} {\left(\frac{a_{12} a_{21}}{a_{11}} - a_{22}\right)}} & \frac{a_{12}}{a_{11} {\left(\frac{a_{12} a_{21}}{a_{11}} - a_{22}\right)}} \\ \frac{a_{21}}{a_{11} {\left(\frac{a_{12} a_{21}}{a_{11}} - a_{22}\right)}} & -\frac{1}{\frac{a_{12} a_{21}}{a_{11}} - a_{22}} \end{array}\right)
A*B
(a11b11+a12b21,a21b11+a22b21)\displaystyle \left(a_{11} b_{11} + a_{12} b_{21},\,a_{21} b_{11} + a_{22} b_{21}\right)

%%% FIM CALCULO COM MATEMATICA SIMBOLICA %%%