Matemática com Python

Matemática e Python

Uso de Bibliotecas Numpy e Scipy

Numpy é um projeto open source para computação numérica com a linguagem Python fazendo uso de bibliotecas com algoritmos numéricos e de manipulação de matrizes e vetores. Por sua vez o SciPy é um pacote que faz uso da biblioteca NumPy servindo para matemáticos e cientistas em computação cientifica.

Outras bibliotecas são uteis para propositos de computação cientifica e analise de dados como:

  • Matplotlib - biblioteca para desenho de gráficos ;
  • SciKit-Learn - pacote python para aprendizado de máquina (Machine Learning);
  • Jupyter - o pacote Notebook Jupyter implementa um ambiente web de computação cientifica;
  • Sympy - biblioteca python para matemática simbólica;

Documentação e Tutoriais

Numpy

  1. NumPy
  2. Introdução ao NumPy
  3. Python NumPy Tutorial

SciPy

  1. SciPy
  2. Python Scipy Tutorial [video]
In [ ]:
 
In [2]:
import numpy as np
In [16]:
A = np.array([[2,1], [1,3]])
B = np.array([(1.5, 2.0), (1.5, 2.0)])
print("A =\n {}\n".format(A))
print("B =\n {}\n".format(B))
A =
 [[2 1]
 [1 3]]

B =
 [[1.5 2. ]
 [1.5 2. ]]

Após importar o módulo numpy renomeando como np

import numpy as np

e usando a função array com np.array temos a criação das matrizes $A$ e $B$.

$$A = \begin{bmatrix} 2.0 & 1.0 \\ 1.0 & 3.0 \end{bmatrix} $$

e

$$B = \begin{bmatrix} 1.5 & 2.0 \\ 1.5 & 2.0 \end{bmatrix} $$
In [18]:
# Soma de matrizes
print("A + B  =\n {}".format(A+B))
A + B  =
 [[3.5 3. ]
 [2.5 5. ]]
In [25]:
x = np.arange(0, 10, 0.01)
ysin = np.sin(x)
In [28]:
# Módulo Matplolib
import matplotlib.pyplot as plt
In [27]:
plt.plot(x,ysin)
Out[27]:
[<matplotlib.lines.Line2D at 0x7f34f8856e48>]

Sympy & NumDiffTools

Usando Sympy e NumDifftools para computação simbólica e diferenciação numérica. Abaixo exemplo para computar a derivada e depois plotar o gráficos de uma função e de sua derivada.

In [ ]:
 
In [21]:
from IPython.display import display, Markdown, Math
from sympy import *
import numdifftools as nd
import numpy as np
import matplotlib.pyplot as plt
In [4]:
df = nd.Derivative(np.cos, n=1)
In [14]:
x = np.arange(-4*np.pi, 4*np.pi, 0.1)
y = np.cos(x) 
y1 = df(x)
plt.plot(x,y, label="f(x) = cos(x)")
plt.plot(x,y1, label="$f'(x) = -sin(x)$")
plt.xlabel('x')
plt.ylabel('y')
plt.title("NumDiffTool compute derivative.")
plt.legend()
plt.show()

Seja $y = f(x) =cos(x)$ e sua derivada $f'(x) = -sin(x)$ temos o gráfico acima de $f$ e de sua derivada.

Computando a derivada de $f(x)$ na forma simbólica com Sympy

In [23]:
x, y = symbols('x y')
init_printing(use_unicode=True)
display(Math(r"$f'(x) = {}$".format(diff(cos(x), x))))
$\displaystyle f'(x) = -sin(x)$
In [ ]:
 









Download PDF deste post

Nenhum comentário:

Postar um comentário