Algebra lineal
NumPy expone operaciones de algebra lineal usadas en regresion, PCA, embeddings y resolucion de sistemas. El submodulo clave es numpy.linalg.
Producto matricial
python
import numpy as np
A = np.array([[1., 2.], [3., 4.]])
v = np.array([5., 6.])
A @ v
A.TSistemas lineales
Resolver Ax = b:
python
A = np.array([[3., 1.], [1., 2.]])
b = np.array([9., 8.])
x = np.linalg.solve(A, b)
print(A @ x)Prefiere solve a invertir la matriz (inv) y multiplicar: es mas estable y rapido.
Normas, det, rank
python
np.linalg.norm(v)
np.linalg.norm(A, ord="fro")
np.linalg.det(A)
np.linalg.matrix_rank(A)Autovalores y SVD
python
w, Q = np.linalg.eig(A)
U, S, Vt = np.linalg.svd(A, full_matrices=False)SVD aparece en reduccion de dimensionalidad, recomendaciones y compresion.
Minimos cuadrados
python
X = np.array([[1., 1.], [1., 2.], [1., 3.]])
y = np.array([1., 2., 2.5])
coef, residuals, rank, s = np.linalg.lstsq(X, y, rcond=None)Errores habituales
- Matrices singulares en
solve->LinAlgError. - Confundir fila/columna en vectores 1D.
- Invertir matrices mal condicionadas sin revisar el numero de condicion:
python
np.linalg.cond(A)Buenas practicas
- Trabaja en
float64salvo necesidad de memoria. - Valida shapes antes de
@. - Para problemas grandes y dispersos, mira SciPy (
scipy.sparse.linalg).
Ejercicio
- Resuelve un sistema 2x2 y verifica
A @ x - b. - Calcula la norma L2 de un vector de 1000 gaussianas.
- Ajusta una recta por minimos cuadrados a 20 puntos ruidosos.
Siguiente paso
Continua con Aleatoriedad y simulacion.
