Álgebra lineal con NumPy
np.dot, np.linalg.inv, np.linalg.eig y np.linalg.solve para sistemas de ecuaciones.
Álgebra lineal con NumPy es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
Álgebra lineal en NumPy
NumPy proporciona operaciones matriciales mediante el operador @ y el módulo np.linalg, la base de casi todos los algoritmos de aprendizaje automático.
Multiplicación de matrices con @
El operador @ realiza una verdadera multiplicación matricial. Las dimensiones internas deben coincidir: (m,k) @ (k,n) produce (m,n).
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(A @ B)
# [[19 22]
# [43 50]]@ frente a * (¡importante!)
* es elemento a elemento, mientras que @ es multiplicación matricial. Confundirlos es un error clásico.
print(A * B) # element-wise: [[ 5 12]
# [21 32]]
print(A @ B) # matrix product (different result)np.dot
np.dot es la forma funcional. Para arrays 2D equivale a @; para arrays 1D calcula el producto escalar, que es un escalar.
u = np.array([1, 2, 3])
v = np.array([4, 5, 6])
print(np.dot(u, v)) # 1*4 + 2*5 + 3*6 = 32Matriz inversa
np.linalg.inv(A) devuelve la inversa, la matriz que produce la identidad al multiplicarse por A. Solo las matrices cuadradas y no singulares tienen inversa.
A = np.array([[4.0, 7.0], [2.0, 6.0]])
Ainv = np.linalg.inv(A)
print(np.round(A @ Ainv, 6)) # identityDeterminante
np.linalg.det(A) devuelve el determinante. Un determinante de 0 indica que la matriz es singular y no se puede invertir.
print(np.linalg.det(A)) # 10.0 (nonzero -> invertible)Resolución de sistemas lineales
Para resolver A x = b, prefiera np.linalg.solve(A, b) en lugar de calcular la inversa. Es más rápido y numéricamente más estable.
A = np.array([[3.0, 1.0], [1.0, 2.0]])
b = np.array([9.0, 8.0])
x = np.linalg.solve(A, b)
print(x) # [2. 3.]Por qué usar solve en lugar de inv
Calcular inv(A) @ b desperdicia trabajo y amplifica el error de redondeo. solve usa directamente la descomposición LU. En código real, opte por solve.
# Avoid: x = np.linalg.inv(A) @ b
# Prefer: x = np.linalg.solve(A, b)Valores y vectores propios
np.linalg.eig(A) devuelve valores y vectores propios. Estos son fundamentales para PCA, el análisis de estabilidad y muchas otras aplicaciones.
A = np.array([[2.0, 0.0], [0.0, 3.0]])
vals, vecs = np.linalg.eig(A)
print(vals) # [2. 3.]Normas de vectores y matrices
np.linalg.norm mide la magnitud. De forma predeterminada, es la norma euclídea (L2) para vectores, y se usa en todo tipo de tareas, desde calcular distancias hasta aplicar regularización.
v = np.array([3.0, 4.0])
print(np.linalg.norm(v)) # 5.0 (sqrt(9+16))
print(np.linalg.norm(v, 1)) # 7.0 (L1 norm)Transpuesta
A.T transpone una matriz, intercambiando filas y columnas. Aparece constantemente en fórmulas como las ecuaciones normales.
A = np.array([[1, 2, 3], [4, 5, 6]])
print(A.T)
# [[1 4]
# [2 5]
# [3 6]]Comprobación rápida
Ponga a prueba sus conocimientos de álgebra lineal.
Resumen
Herramientas de álgebra lineal:
@/np.dotpara productos matriciales y escalares (no*)np.linalg.inv,np.linalg.detnp.linalg.solve(A, b)es preferible a invertir la matriznp.linalg.eigpara la descomposición en valores y vectores propiosnp.linalg.normpara magnitudes yA.Tpara transponer
Preguntas frecuentes
¿La lección «Álgebra lineal con NumPy» es gratis?
Sí — el texto completo de «Álgebra lineal con NumPy» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Álgebra lineal con NumPy»?
np.dot, np.linalg.inv, np.linalg.eig y np.linalg.solve para sistemas de ecuaciones. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Álgebra lineal con NumPy»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Creación y propiedades de arrays
- Indexación, slicing e indexación avanzada
- Broadcasting y operaciones vectorizadas
- Álgebra lineal con NumPy