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.