```python
from IPython.display import display, Math, Latex
import matplotlib.pyplot as plt
%matplotlib inline
#display(Math(r'F(K) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'))  #exemplo
```

<div style="font-family: 'Times New Roman', Times, serif; font-size: 16px;">
    
    <h1>SymPy</h1>
    
    <p>Usando a biblioteca <b style="color: blue;">SymPy</b> de matemática simbólica para computar:</p>
    
    <ul style="font-weight: bold">
        <li>derivadas</li>
        <li>retas tangentes</li>
        <li>derivadas de ordem mais altas</li>
        <li>máximos e mínimos</li>
    </ul>
    
</div>


```python
import sympy as sp
```


```python
sp.init_printing()
sp.var('x, y')
```

$f(x) = (x^3 - 3x + 2)e^{-x/4} - 1$


```python
f = sp.Lambda(x, (x**3 - 3*x + 2)*sp.exp(-x/4) - 1)
f
```

<div style="font-family: 'Times New Roman', Times, serif; font-size: 16px;">
    
    <h2>Derivadas</h2>
    
    <p>Usando a biblioteca <b style="color: blue;">Sympy</b> de matemática simbólica para computar a derivada da função</p>
    
</div>

$ f' = \dfrac{df}{dx} $.


```python
diff( f(x), x )
```

Para avaliar a derivada em um ponto, por exemplo, para calcular $f'(1)$:


```python
diff( f(x),x ).subs(x, 1)
```

Também podemos definir a função derivada de $f$:


```python
fl = Lambda(x, diff(f(x), x))
fl
```

Com isso, $f'(1)$ pode ser computada com:


```python
fl(1)
```

**Exercício**

Sengo $g(x) = x^2 + \dfrac{1}{2}$ calcule $g'(1)$.


```python
# Solução
g = Lambda(x, (x**2) + Rational(1, 2))
g
```


```python
gl = Lambda(x, diff(g(x), x))
gl
```

<div style="font-family: 'Times New Roman', Times, serif; font-size: 16px;">
    
    <h2>Reta Tangente</h2>
    
</div>

Aqui, vamos ver como computar a reta tangente ao gráfico da função $f$ no ponto $x_0 = - \dfrac{1}{2}$. Lembremos que tal reta tangente tem equação:

$y = f'(x_0)(x - x_0) + f(x_0)$

Assim sendo, podemos definir a função affim cujo gráfico é a reta tangente com o seguinte comando:


```python
x0 = -1/2
r = Lambda(x, fl(x0)*(x-x0) + f(x0))
r
```

Vejamos os gráficos de $f(x)$ e da reta tangente computada.


```python
p = plot(f(x), (x, -2,   2), line_color='blue', show=False)
q = plot(r(x), (x, -1.5, 1), line_color='red',  show=False)
p.extend(q)
p.show()
```

**Exercício**

Encontre a reta tangente ao gráfico de $y = \dfrac{1}{x}$ em $x = 1$. Faça os esboços dos gráficos e da reta tangente em um mesmo gráfico.


```python
reta_ex_y = Lambda(x, 1 / x)
reta_ex_y
```


```python
reta_ex_yl = Lambda(x, diff(reta_ex_y(x), x))
reta_ex_yl
```


```python
reta_ex_x = 1
reta_ex_r = Lambda(x, reta_ex_yl(reta_ex_x)*(x-reta_ex_x) + reta_ex_y(reta_ex_x))
reta_ex_r
```


```python
reta_ex_p = plot(reta_ex_y(x), (x, -2,   2), line_color='blue', show=False)
reta_ex_q = plot(reta_ex_r(x), (x, -1.5, 1), line_color='red',  show=False)
reta_ex_p.extend(reta_ex_q)
reta_ex_p.show()
```


```python
f = lambda x: ( ((-0.5)*(x**2)) + (2.5*x) + (4.5) )
sp.solve(((-0.5)*(x**2)) + (2.5*x) + (4.5), x)
```


```python

```

ff54b756b02b4ff86ce170104d3b67443b422e01
ipynb
Jupyter Notebook
SymPy.ipynb
GuilhermeEsdras/number-methods
e92a1e12d71ba688d01407982cbde5160f849498
MIT
SymPy.ipynb
GuilhermeEsdras/number-methods
e92a1e12d71ba688d01407982cbde5160f849498
MIT
SymPy.ipynb
GuilhermeEsdras/number-methods
e92a1e12d71ba688d01407982cbde5160f849498
MIT
Qwen/Qwen-72B
1. YES
2. YES