# Tarea Nro. 3 - LinAlg + Sympy

- Nombre y apellido: Renato Balcázar
- Fecha:             01-12-2020

### Producto punto

1. Use un producto punto y la lista de compras de la tabla 9.4 para determinar su cuenta total en la tienda.






```python
import numpy as np

products = np.array([2,1,2,5,1])
prices = np.array([3.5, 1.25, 4.25, 1.55, 3.15])

result = products.dot(prices)
result

```




    27.65



### Multiplicación matricial 

2. Con un calorímetro de bomba se realizó una serie de experimentos. En cada experimento se usó una cantidad diferente de agua. Calcule la capacidad calorífica total para el calorímetro en cada uno de los experimentos, mediante multiplicación matricial, los datos de la tabla 9.8 y la información acerca de la capacidad calorífica que sigue a la tabla.





```python
propierties = np.array([
    [ 110, 250, 10],
    [ 100, 250, 10],
    [ 101, 250, 10],
    [98.6, 250, 10],
    [99.4, 250, 10]
])

capacity_elements = np.array([
    [0.45],
    [4.20],
    [0.90]
])

res = np.dot(propierties, capacity_elements) 
res

```




    array([[1108.5 ],
           [1104.  ],
           [1104.45],
           [1103.37],
           [1103.73]])



### Determinantes e inversos

3. Recuerde que no todas las matrices tienen inverso. Una matriz es singular (es decir: no tiene inverso) si su determinante es igual a 0 (es decir, |A| = 0). Use la función determinante para probar si cada una de las siguientes matrices tiene inverso:



Si existe un inverso, calcúlelo.


```python
A = np.array([
    [2, -1],
    [4,  5]
])

B = np.array([
    [4, 2],
    [2, 1]
])

C = np.array([
    [ 2,  0,  0],
    [ 1,  2,  2],
    [ 5, -4,  0]
])

if (np.linalg.det(A) != 0):
    print("\nInversa de A: ")
    print(np.linalg.inv(A))
else:
    print("\nA no posee una inversa porque su determinante es 0")

if (np.linalg.det(B) != 0):
    print("\nInversa de B: ")
    print(np.linalg.inv(B))
else:
    print("\nB no posee una inversa porque su determinante es 0")

if (np.linalg.det(C) != 0):
    print("\nInversa de C: ")
    print(np.linalg.inv(C))
else:
    print("\nC no posee una inversa porque su determinante es 0")

```

    
    Inversa de A: 
    [[ 0.35714286  0.07142857]
     [-0.28571429  0.14285714]]
    
    B no posee una inversa porque su determinante es 0
    
    Inversa de C: 
    [[ 0.5    0.     0.   ]
     [ 0.625  0.    -0.25 ]
     [-0.875  0.5    0.25 ]]


### Resolución de sistemas ecuaciones lineales

4. Resuelva el siguiente sistema de ecuaciones 




```python
coef = np.array([
    [ 3,  4,  2, -1,  1,  7,  1],
    [ 2, -2,  3, -4,  5,  2,  8],
    [ 1,  2,  3,  1,  2,  4,  6],
    [ 5, 10,  4,  3,  9, -2,  1],
    [ 3,  2, -2, -4, -5, -6,  7],
    [-2,  9,  1,  3, -3,  5,  1],
    [ 1, -2, -8,  4,  2,  4,  5]
])
results = np.array([
    42,
    32,
    12,
    -5,
    10,
    18,
    17
])


respuesta = np.linalg.solve(coef, results)
respuesta

```




    array([-0.18899493,  2.54589061, -3.28057396, -6.75778176,  1.32124449,
            4.31944831,  0.62940585])



### Cálculo

5. La capacidad calorífica C<sub>p</sub> de un gas se puede modelar con la ecuación empírica

$$C_p = a + bT + cT^2+dT^3$$

donde a, b, c y d son constantes empíricas y T es la temperatura en grados Kelvin. El cambio en entalpía (una medida de energía) conforme el gas se caliente de T<sub>1</sub> a T<sub>2</sub>  es la integral de esta ecuación con respecto a T:

$$\bigtriangleup h = \int_{T_{1}}^{T_{2}} C_{p} \,dT  $$

Encuentre el cambio en entalpía del oxígeno gaseoso conforme se calienta de 300 K a 1000 K. Los valores de a, b, c y d para el oxígeno son

$$
\begin{equation} 
\begin{split}
a & = 25.48 \\
b & = 1.520 x 10^{-2} \\
c & = -0.7155 x 10^{-5} \\
d & = 1.312 x 10^{-9}
\end{split}
\end{equation}
$$



```python
from sympy import *
t = Symbol('t')

t_1 = 300
t_2 = 1000

a = 25.48
b = 1.520*(10**(-2))
c = -0.7155*(10**(-5))
d = 1.312*(10**(-9))


capacity = a + b*t + c*(t**2) + d*(t**3)

h_variation = integrate(capacity, (t, t_1, t_2))
h_variation

```




$\displaystyle 22756.7382$



ccc4dc045c030c21665d253d123a79aea82e795c
ipynb
Jupyter Notebook
Tareas/PrimerBimestre/TareaNro3 LinalgSympy/LinAlgSympy.ipynb
renatojobal/python_sol
d8d0434755679d62caa34d0ea227aacc2aa1ad6d
MIT
Tareas/PrimerBimestre/TareaNro3 LinalgSympy/LinAlgSympy.ipynb
renatojobal/python_sol
d8d0434755679d62caa34d0ea227aacc2aa1ad6d
MIT
Tareas/PrimerBimestre/TareaNro3 LinalgSympy/LinAlgSympy.ipynb
renatojobal/python_sol
d8d0434755679d62caa34d0ea227aacc2aa1ad6d
MIT
2021-02-02T03:33:44.000Z
2021-02-02T03:34:20.000Z
Qwen/Qwen-72B
1. YES
2. YES