¿Qué es una matriz?
Si los vectores son puntos en un mapa, las matrices son el mapa completo: una matriz es una cuadrícula de números organizada en filas y columnas. Puedes pensarla como un conjunto de vectores fila o vectores columna, dependiendo del caso.
Matemáticamente, se escribe como un conjunto rectangular o cuadrado de números. Cada número dentro de la matriz se llama elemento, y se identifica por su posición: \(a_{ij}\) es el elemento que está en la fila i y la columna j.
$$ A = \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{bmatrix} $$
Aquí la matriz \(A\) tiene 3 filas y 3 columnas, por lo tanto, su dimensión es \(3 \times 3\).
- Filas: 3 (cada una es un vector)
- Columnas: 3 (cada una es un vector)
- Dimensión: \(3×3\) (filas x columnas)
Dimensiones
Scalar
$$a = 1$$
1D: vector columna o vector fila, según la orientación
$$\vec{v} = \begin{bmatrix}v_{11} \\ v_{21} \\ v_{31} \\ \ldots \\ v_{3n} \end{bmatrix}$$
$$\vec{v} = \begin{bmatrix}v_{11} \ v_{12} \ v_{13} \ \ldots \ v_{1n} \end{bmatrix}$$
- 2D Matriz
$$A = \begin{bmatrix}1 & 2 \\ 3 & 4 \end{bmatrix}$$
- 3D Tensor
$$T_{ijk} = \begin{bmatrix}[1 & 2] & [3 & 4] \\ [5 & 6] & [7 & 8]\end{bmatrix}$$
Tipos de matrices
Matriz fila y matriz columna vistas anteriormente en la dimension 1D
Matriz cuadrada: tiene el mismo número de filas y columnas \( (n \times n) \).
$$ A = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} $$
- Diagonar mayor: a = [1 , 5 , 9]
- Diagonal menor: a = [3 , 5 , 7]
Matriz de identidad o unidad: tiene 1 en la diagonal principal y 0 en el resto.
$$A = \begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}$$
Matriz Escalar: Todos los elementos de la diagonal son iguales.
$$A = \begin{bmatrix}3 & 0 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & 3 \end{bmatrix}$$
Matriz triangular superior y triangular inferior.
Superior: debajo de la diagonal todos ceros
$$A = \begin{bmatrix}1 & 2 & 3 \\ 0 & 5 & 6 \\ 0 & 0 & 9 \end{bmatrix}$$
Inferior: encima de la diagonal todos ceros
$$A = \begin{bmatrix}1 & 0 & 0 \\ 4 & 5 & 0 \\ 7 & 8 & 9 \end{bmatrix}$$
Matriz Diagonal: los elementos que no están en la diagonal principal son ceros.
$$A = \begin{bmatrix}1 & 0 & 0 \\ 0 & 5 & 0 \\ 0 & 0 & 9 \end{bmatrix}$$
Matriz nula: todos los elementos son 0.
$$A = \begin{bmatrix}0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}$$
La matriz identidad, por ejemplo, es clave porque actúa como el “1” de la multiplicación matricial:
$$I = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \quad \Rightarrow \quad A \cdot I = A$$
Matriz traspuesta: Se obtiene intercambiando filas por columnas:
$$ A = \begin{bmatrix} 1 & 2 & 3 & 4 & 5 \\ 6 & 7 & 8 & 9 & 10 \end{bmatrix} $$
$$ A^T= \begin{bmatrix} 1 & 6 \\ 2 & 7 \\ 3 & 8 \\ 4 & 9 \\ 5 & 10\end{bmatrix} $$
Matriz simétrica: cuando es igual a su traspuesta.
$$ A = \begin{bmatrix} 2 & 4 & -8 \\ 4 & -3 & 5 \\ -8 & 5 & 0 \end{bmatrix} $$
$$ A^T= \begin{bmatrix} 2 & 4 & -8 \\ 4 & -3 & 5 \\ -8 & 5 & 0 \end{bmatrix} $$
Matrices como datos
En ciencia de datos, todo lo que analizamos puede representarse con matrices:
- Un dataset es una matriz donde cada fila es una observación y cada columna una variable.
- Una imagen es una matriz de píxeles, y si es en color, es una matriz 3D , también llamado Tensor.
- Una serie temporal puede representarse como una matriz con las variables en columnas y el tiempo en filas.
Por ejemplo, una imagen en blanco y negro de 3×3 se puede representar así:
$$ I =\begin{bmatrix}0 & 255 & 0 \\ 255 & 0 & 255 \\ 0 & 255 & 0\end{bmatrix}$$
donde cada número representa la intensidad del color.
Matrices como funciones
También llamada Matrices Transformadoras, son matrices que actuan como una función que transforma datos.
Una transformación lineal es una función que toma vectores como entrada y devuelve otros vectores como salida. Las transformaciones lineales pueden:
- Estirar o encoger figuras (cambio de escala)
- Girarlas (rotación)
- Reflejarlas (simetría)
- Aplanarlas (proyección)
- Combinarlas (rotar + escalar, por ejemplo)
Pero no pueden doblar, curvar, ni mover los puntos de forma no proporcional (eso sería una transformación no lineal).
Por ejemplo, en geometría o visión por computador, una matriz de rotación de un ángulo \((\theta)\) es:
$$R(\theta) = \begin{bmatrix}\cos \theta & -\sin \theta \\ sin \theta & \cos \theta \end{bmatrix}$$
Aplicar esta matriz a un vector rota el punto alrededor del origen.
Operaciones con Matrices
Suma y resta de matrices
Dos matrices se pueden sumar o restar solo si tienen el mismo tamaño. Se suman los elementos correspondientes en cada matriz:
$$ A + B = \begin{bmatrix} a_{11}+b_{11} & a_{12}+b_{12} \\ a_{22}+b_{22} & a_{21}+b_{21} \end{bmatrix}$$
Multiplicación por un scalar
Cada elemento de la matriz se multiplica por el número (escalar):
$$ 2A = \begin{bmatrix} 2a_{11} & 2a_{12} \\ 2a_{22} & 2a_{21} \end{bmatrix}$$
Producto de matrices
Para poder multiplicar dos matrices es necesario que el número de columnas de la primera matriz sea igual al número de filas de la segunda. Para realizar la multiplicación se multiplican los elementos de cada fila de A por cada elemento de las columnas de B y se suman los resultados.
$$(A \times B)_{ij} = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix}$$
$$ = \begin{bmatrix} 1 \cdot 5 + 2 \cdot 7 & 1 \cdot 6 + 2 \cdot 8 \\ 3 \cdot 5 + 4 \cdot 7 & 3 \cdot 6 + 4 \cdot 8\end{bmatrix} $$
$$ = \begin{bmatrix} 19 & 22 \\ 43 & 50 \end{bmatrix} $$
Operaciones de Matrices con Python
- Crear matrices con funciones convenientes, Numpy ofrece varias funciones para crear matrices comunes rapidamente:
A = np.ones((3, 4)) # Matriz 3x4 llena de unos
B = np.zeros((3, 3)) # Matriz 3x3 llena de ceros
C = np.ones((2, 2)) * 4 # Matriz 2x2 llena de cuatros
print("A:\n", A)
print("B:\n", B)
print("C:\n", C)A:
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
B:
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
C:
[[4. 4.]
[4. 4.]]- Propiedad
.shape: conocer las dimensiones de la matriz
print(A.shape)(3, 4)- Indexación: acceder a elementos, fila y columnas
M = np.array([[1, 2, 3],
[4, 5, 6]
[7, 8, 9]])
valor = M[4, 5] # valor en la fila 5, columna 6 (Python indexa desde 0)
fila = M[1, :] # acceder a una fila completa
columna = M[:, 2] # acceder a una columna completa
print(valor)
print(fila)
print(columna)6
[4 5 6]
[3 6 9]- Suma y resta de matrices
C = A + B
D = B - A- Multiplicación por escalar
E = 3 * A- Producto de matrices
C = A @ B
# tambien se puede usar:
np.dot(A, B)- Transpuesta de una matriz
print("A^T =\n", A.T)- Matriz identidad
I = np.eye(2)
print("Matriz identidad:\n", I)
print("A @ I =\n", A @ I)- Determinante y matriz inversa
det_A = np.linalg.det(A)
inv_A = np.linalg.inv(A)6. En resumen
- Las matrices son la base del álgebra lineal y de los modelos de datos.
- En Machine Learning, cada conjunto de entrenamiento es una gran matriz.
- En visión por computador, las imágenes son matrices.
- En análisis estadístico, las transformaciones de los datos se hacen con multiplicaciones matriciales.
Por eso, entender cómo funcionan es esencial: todo modelo, por complejo que parezca, se reduce a operaciones con vectores y matrices.