Tutorial rápido de Python para Matemáticos

© Ricardo Miranda Martins, 2022 - http://www.ime.unicamp.br/~rmiranda/

Índice

  1. Introdução
  2. Python é uma boa calculadora! (código fonte)
  3. Resolvendo equações (código fonte)
  4. Gráficos (código fonte)
  5. Sistemas lineares e matrizes (código fonte)
  6. Limites, derivadas e integrais (código fonte)
  7. Equações diferenciais (código fonte)

Limites

Conhece aquela famosa piadinha? "Tudo tem limites, menos $1/x$ com $x\rightarrow 0$." Matemáticos tem um senso de humor bem peculiar.

O Python sabe muito bem trabalhar com limites, graças ao pacote SymPy. Não é nada recomendável calcular limites fazendo "tabelinhas" ou "aproximações", então o pacote de cálculo simbólico é o ideal.

Para calcular $$\lim_{x\rightarrow a} f(x)$$ o comando é sp.limit(f,x,a). A variável $x$ precisa anter ser definida.

Bom, não vamos ficar usando o Python para calcular limites que sabemos calcular de cabeça, só substituindo os valores né? Vamos a alguns mais complicados. Por exemplo, que tal calcular $$\lim_{x\rightarrow 0} \dfrac{\sin(x)}{x}?$$

Isso significa que as funções $f(x)=\sin(x)$ e $g(x)=x$ são muito parecidas, para valores pequenos de $x$. Vamos fazer um gráfico para conferir isso:

E os limites que não existem? Também podem ser calculados!

Podemos calcular também limites com $x\rightarrow\infty$. No SymPy, o símbolo para infinito é oo, lembrando do prefixo sp. Sugestivo, não?

Podemos ainda calcular limites laterais no Python, usando os símboos + ou - no comando.

Já vamos começar a falar sobre derivadas, mas podemos calculá-las pela definição, usando limites. Abaixo faremos um exemplo disso.

O Python trabalha muito bem com funções definidas por partes. Abaixo fazemos um exemplo disso.

Aviso importante: o Python não é muito bom com funções definidas por partes, tome cuidado com os resultados.

Derivadas

Se você já fez um curso de cálculo, deve ter percebido que derivação é um processo extremamente mecânico. Não é difícil implementar um "derivador formal". O Python calcula derivadas de funções de uma ou mais variáveis de forma muito eficiente. Novamente vamos usar o SymPy.

Sem mais delongas vamos calcular a derivada de $f(x)=x^2+x$ com respeito à função $x$.

Foi rápido, né? A função pode ser muito mais complicada, como por exemplo $g(x)=e^{x^3+x}+1/x$.

As funções podem ser de mais que uma variável:

Claro que as derivadas de ordem superior também podem ser pedidas de forma iterada:

Para derivadas de ordem superior, também é fácil. Abaixo calculamos a derivada de terceira ordem de $h(x,y)$ com respeito a $x$

Se você quer a derivada em um ponto, pode usar o subs para avaliar a derivada nesse ponto:

Claro que a função precisa estar definida no ponto, ou coisas podem dar errado..

Expansão em séries

Uma importante aplicação das derivadas é o cálculo da expansão em série de Taylor. O SymPy tem dois comandos para isso, o fps e o series. Vamos testá-los com a função $f(x)=x\cos(x)$.

Se você não está ligando o nome à pessoa, uma aplicação interessante das séries de potências de uma função é poder calcular aproximações de valores de uma função $f(x)$ que não permite cálculos "diretos".

Por exemplo, não sabemos calcular diretamente $e^2$, mas usando a série da exponencial, podemos aproximar esse valor tão bem quanto quisermos. Vamos usar o sufixo removeO para remover da série de Taylor a parte que tem os termos em $O(n)$.

Portanto, $20947/2835$ é uma boa aproximação racional para $e^2$. Bom, o que estamos fazendo é uma coisa totalmente sem propósito, já que estamos fazendo isso no computador e um simples comando poderia calcular. Mas é aquele famoso "toy problem". Só por curiosidade, note que:

Portanto, $e^2$ está perto de 7. Como bônus, se você decorar a série abaixo, poderá tirar aquela onda no churrasco do fim de ano e calcular aproximações para $e^x$ para valores de $x$ próximos de $0$. Certamente, vai ser um sucesso.

Integrais

E chegamos nas integrais. O integrador do SymPy é muito rápido e eficiente, e é o companheiro que gostaríamos de ter na hora da prova de cálculo. Resolver uma integral no Python é muito fácil: o comando é integrate(f,x) ou integrate(f,(x,a,b)) se for uma integral definida, com $x\in[a,b]$.

Bom, como você percebeu, o SymPy teria perdido $0.1$ em cada integral anterior - esqueceu a constante de integração.. coisa feia, Python. Alguns exemplos de integrais definidas:

Garoto esperto..

O Python também consegue calcular integrais impróprias, lembrando que o símbolo oo é usado para "infinito".

Atenção: se você tem menos que 18 anos, não execute o próximo comando!!

Mais um exemplo de integral imprópria:

A integração de funções de várias variávies, principalmente se o domínio for um retângulo, também pode ser feita sem problemas no Python:

Também podemos integrar sobre regiões um pouco mais gerais, as chamadas regiões de tipo I/tipo II, ou regiões $R_x$ ou $R_y$:

Somas de Riemann

Na primeira aula de integrais, começamos com integrais definidas, fazendo umas figuras sobre somas de Riemann. Acredite em mim: é complicado fazer isso manualmente, pois os cálculos são complicados e os desenhos são chatos de fazer. Que tal usar o Python pra facilitar nossa vida? Facilitará tanto o trabalho do professor quanto do aluno, que entenderá melhor.

A implementação abaixo foi adaptada do Mathematical Python (nesse site).