El álgebra lineal es esencial para representar y manipular datos en múltiples dimensiones: vectores, matrices y tensores. NumPy incluye el submódulo numpy.linalg con operaciones optimizadas en C y Fortran, ideales para cálculos rápidos.
dot)El producto punto puede calcularse entre vectores o matrices compatibles.
import numpy as np
# Producto punto entre vectores
v1 = np.array([1, 2, 3])
v2 = np.array([4, 5, 6])
print("Producto punto (vectores):", np.dot(v1, v2)) # 32
# 1*4 + 2*5 + 3*6 = 32
👉 También funciona entre matrices:
A = np.array([[1, 2],
[3, 4]])
B = np.array([[5, 6],
[7, 8]])
print("Producto punto (matrices):\n", np.dot(A, B))
# [[1*5 + 2*7, 1*6 + 2*8],
# [3*5 + 4*7, 3*6 + 4*8]]
Salida:
[[19 22]
[43 50]]
NumPy ofrece varias formas de multiplicar matrices:
np.dot(A, B): producto matricial.A @ B: operador legible (Python 3.5+).np.matmul(A, B): equivalente, pensado para matrices.print("Usando @:\n", A @ B)
print("Usando matmul:\n", np.matmul(A, B))
👉 La multiplicación elemento a elemento se realiza con *, no con dot:
print("Multiplicación elemento a elemento:\n", A * B)
La matriz identidad cumple el rol del “1” en álgebra lineal.
I = np.eye(3)
print("Matriz identidad 3x3:\n", I)
Salida:
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
La matriz inversa A⁻¹ (si existe) satisface A @ A⁻¹ = I.
A = np.array([[1, 2],
[3, 4]])
A_inv = np.linalg.inv(A)
print("Matriz inversa:\n", A_inv)
# Verificar
print("A @ A_inv:\n", A @ A_inv)
Salida (aprox.):
Matriz inversa:
[[-2. 1. ]
[ 1.5 -0.5]]
A @ A_inv:
[[1. 0.]
[0. 1.]]
np.linalg.det)Permite saber si una matriz es invertible y aparece en múltiples cálculos.
A = np.array([[1, 2],
[3, 4]])
det = np.linalg.det(A)
print("Determinante:", det) # -2.0...
np.linalg.eig)Se utilizan en reducción de dimensionalidad (PCA) y modelos matemáticos.
A = np.array([[2, 0],
[0, 3]])
valores, vectores = np.linalg.eig(A)
print("Autovalores:", valores)
print("Autovectores:\n", vectores)
Salida:
Autovalores: [2. 3.]
Autovectores:
[[1. 0.]
[0. 1.]]
👉 Como la matriz es diagonal, los autovalores coinciden con sus elementos principales.
np.dot() o @: producto punto y multiplicación matricial.np.eye(n): matriz identidad.np.linalg.inv(A): inversa de una matriz.np.linalg.det(A): determinante.np.linalg.eig(A): autovalores y autovectores.Nota: Estas operaciones son esenciales en procesamiento de datos, Machine Learning y Deep Learning.