Lección · Módulo 2 · Álgebra para IA

Operaciones con matrices: la matriz como máquina

Una matriz no es una tabla de números. Es una máquina que toma vectores y los transforma en otros vectores. Acá vas a ver esa máquina trabajando — y vas a poder cambiar sus engranajes con cuatro sliders.

Mate MathPlay · Lección 2.1 · Álgebra para modelos

8 minutosInteractivoVisualCon Python

Idea central: una matriz 2x2 de la forma [[a,b],[c,d]] toma cualquier punto del plano (x, y) y lo manda al punto (a·x + b·y, c·x + d·y). Eso es todo lo que hace. Y con esa única operación las matrices controlan rotaciones, escalas, sesgos y reflexiones — los bloques con los que se construyen las redes neuronales.

1 Una matriz no es una tabla. Es una máquina.

La forma más común de presentar una matriz es como una tabla:

[
ab cd
]

Pero esa imagen es engañosa: pareciera que es solo "números ordenados". En realidad la matriz describe una transformación: una regla para mover puntos del plano. Cuando le das un vector de entrada (x, y), escupe un vector de salida transformado.

Esa transformación es lineal, lo que significa dos cosas prácticas: las líneas rectas siguen siendo líneas rectas, y el origen (0,0) no se mueve. Todo lo demás — estirar, rotar, sesgar, reflejar — está permitido.

2 Operaciones simples: suma y escala

Antes de la operación estrella (multiplicación por un vector), repasamos las dos operaciones triviales:

Suma de matrices

Sumás elemento a elemento. Las dos matrices tienen que ser del mismo tamaño:

[[1, 2], [3, 4]] + [[5, 6], [7, 8]] = [[6, 8], [10, 12]]

Pensalo así: si A hace una transformación y B hace otra, entonces A + B hace ambas al mismo tiempo, sumando el efecto de cada una.

Multiplicación por un escalar

Multiplicás cada elemento por el mismo número. Es como decírle a la transformación "hacé tu trabajo, pero con esta intensidad":

3 · [[1, 2], [3, 4]] = [[3, 6], [9, 12]]

Si A rota 30 grados, 2A rota 30 grados y además estira el resultado al doble.

3 La operación estrella: matriz por vector

Acá pasa lo interesante. Una matriz 2x2 multiplicada por un vector columna (x, y) produce un nuevo vector. La regla:

[[a, b], [c, d]] · (x, y) = (a·x + b·y, c·x + d·y)

Cada fila de la matriz "construye" una coordenada del resultado. La primera fila (a, b) mezcla x e y para fabricar la nueva x. La segunda fila (c, d) hace lo mismo para fabricar la nueva y.

Como cada punto se transforma con esta regla, una figura entera también se transforma. Si tomás una letra "F" y aplicás la matriz a cada uno de sus vértices, la F sale rotada, estirada, sesgada, o lo que la matriz dicte.

4 Tu turno: mové los engranajes y mirá la F

Cuatro sliders: uno para cada elemento de la matriz 2x2. La F gris es la original (la identidad). La F naranja es lo que sale después de aplicar la matriz que estás controlando. Cambiá los valores y mirá en vivo cómo se deforma.

F gris: figura original (sin transformar) F naranja: figura después de la matriz

Sandbox interactivo

Mové los 4 sliders. La matriz que estás aplicando aparece a la derecha.

[
1.000.00 0.001.00
]
a1.00
b0.00
c0.00
d1.00
Determinante (det)
+1.00
factor de área
¿Invierte orientación?
No
det negativo = sí
¿Aplasta el plano?
No
det = 0 = sí

5 Multiplicación de matrices = composición de transformaciones

La última operación es la más rica: multiplicar dos matrices entre sí. La regla aritmética es algo enrevesada al principio:

[[a, b], [c, d]] · [[e, f], [g, h]] = [[a·e+b·g, a·f+b·h], [c·e+d·g, c·f+d·h]]

Pero hay una lectura visual mucho más clara: multiplicar dos matrices significa aplicar una transformación y después la otra. Si A rota 30 grados y B estira el plano al doble, entonces B·A primero rota y después estira.

Por eso A·B y B·A en general dan resultados distintos: el orden importa cuando combinás movimientos. Rotar y después estirar no es lo mismo que estirar y después rotar.

Por qué esto es la base de las redes neuronales

Una capa de red neuronal hace exactamente esto: toma un vector de entrada y lo multiplica por una matriz de pesos. Encadenar capas es encadenar transformaciones, igual que multiplicar matrices. Cuando una IA "aprende", lo que está haciendo es ajustar los a, b, c, d de millones de matrices para que la transformación total convierta una imagen de entrada en la respuesta correcta.

6 Variante 1: transpuesta, identidad y otras matrices fundamentales

Hay tres matrices especiales que aparecen una y otra vez en cualquier cálculo. Conocerlas evita confusiones.

Matriz identidad (I)

La que no hace nada: deja cualquier vector como estaba. Tiene unos en la diagonal y ceros en todo lo demás. Es el "1" de la multiplicación de matrices:

I · v = v   para cualquier vector v

Matriz transpuesta (AT)

"Volcamos" la matriz alrededor de su diagonal. La fila 1 se vuelve columna 1, la fila 2 se vuelve columna 2, etc. Geométricamente, transponer una transformación es como hacerla "al revés" en cierto sentido.

Matriz identidad I No transforma nada — cada vector queda igual 1 0 0 1 I · v = v Diagonal de unos, resto ceros A y su transpuesta AT Volcar alrededor de la diagonal a b c d a c b d Filas se vuelven columnas y viceversa

Matriz cero, simétricas, triangulares

Otras matrices con nombre propio: la matriz cero (todo ceros, mata cualquier vector), las simétricas (A = AT, aparecen en covarianzas y geometría), y las triangulares (con ceros encima o debajo de la diagonal, útiles en descomposiciones).

Caso aplicado · matrices que aparecen en minería

Matriz identidad como punto de partida

Cuando un sistema de control de planta inicia, las "ganancias" entre variables (qué impacta a qué) se modelan como una matriz. Antes de calibrar nada, esa matriz parte de la identidad — "cada variable solo afecta a sí misma". Después, mediciones reales la van rellenando con las correlaciones reales del proceso.

Identidad = "antes de saber nada, asumimos que las cosas no se mezclan"

Transpuesta para invertir flujos

Una matriz F de flujos de mineral de origen a destino (filas = orígenes, columnas = destinos) puede transponerse para mirar el mismo proceso desde el otro lado (filas = destinos, columnas = de qué origen vino cada uno). Es el mismo dato, dos formas de leerlo.

Transpuesta = misma información vista desde el otro extremo del flujo

Matrices simétricas omnipresentes

La matriz de covarianza de variables operacionales (que viste en lección 1.2) es simétrica por construcción: la covarianza entre A y B es la misma que entre B y A. Esa propiedad permite usar técnicas como PCA y diagonalización (que vienen en la próxima lección).

7 Variante 2: determinante (factor de área) e inversa (deshacer la transformación)

Dos cantidades clave de cualquier matriz: el determinante (cuánto cambia el área) y la matriz inversa (la que deshace la transformación).

Determinante = factor de área

Cuando aplicás una matriz A a una figura, el área cambia por un factor igual al determinante de A:

det(A) = a·d − b·c   (para matriz 2×2)
El determinante dice cuánto crece (o se invierte) el área A = 1 unidad det = 2 A’ = 2 área se duplicó det = −1 A’’ = 1 área igual, pero volteada det = 0 área aplastada a 0

Matriz inversa = deshacer la transformación

Si A es una máquina que transforma vectores, A−1 es la máquina que deshace esa transformación:

A · A−1 = I   (la composición da identidad)

La regla crítica: una matriz tiene inversa sí y solo sí det(A) ≠ 0. Si el determinante es cero, no hay forma de deshacer lo que la matriz hizo — perdiste información al aplicarla y no la podés recuperar.

Caso aplicado · balance de masas y mezclas en planta

Sistema de balance metalúrgico

Tu planta tiene 3 etapas de chancado en serie y querés saber cuánto material ingresó sabiendo cuánto salió al final, conociendo las eficiencias de cada etapa. Eso se plantea como un sistema lineal A · x = y donde A es la matriz de eficiencias, y los flujos de salida medidos y x el flujo de entrada desconocido.

Para encontrar x, calculás la inversa de A: x = A−1 · y. Si el det(A) ≠ 0, tenés una solución única. Si det(A) = 0, el sistema es inconsistente: dos o más etapas están "mezcladas" en el modelo y no podés separarlas con esas mediciones. Tendrí>as que instalar más sensores.

det = 0 te alerta que tu modelo no tiene suficientes datos para resolverse

Mezcla de minerales (blending)

Querés mezclar minerales de 3 stocks para conseguir un concentrado con leyes objetivo. Los stocks tienen leyes conocidas de Cu, Au y S. El problema es: ¿qué fracción de cada stock necesito? Es de nuevo A · x = y, donde A contiene las leyes de cada stock, y son las leyes objetivo, y x son las fracciones que buscás.

Resolver A·x=y con inversa = problema clásico de blending

Cuidado: det cerca de cero (mal condicionado)

Si det(A) es muy cercano a cero (pero no exactamente cero), la inversa existe pero es muy sensible al ruido. Un pequeño error de medición en y produce un error gigante en x. En la práctica, antes de invertir una matriz, siempre mirá su número de condición.

det cerca de 0 = inversa inestable = resultados poco confiables

8 Variante 3: matrices ortogonales (rotaciones puras y cambios de eje)

Una clase muy especial de matrices son las ortogonales: aquellas que rotan o reflejan figuras sin deformarlas. Mantienen distancias, ángulos y áreas. Cumplen una propiedad mágica:

AT · A = I   o equivalente:   A−1 = AT

O sea, su inversa es simplemente su transpuesta. Esto es enorme: calcular la inversa de una matriz ortogonal cuesta cero esfuerzo computacional. Por eso las rotaciones se usan tanto en gráficos por computadora, geología, robotica y aprendizaje profundo.

Matriz ortogonal: rota la figura sin cambiar su forma F original área = 70 u² rotar 30° det = 1 F rotada área = 70 u² (igual) Propiedades · AT · A = I · A-1 = AT · det(A) = +1 o -1 · Mantiene distancias · Mantiene ángulos · Inversa gratis (es la transpuesta)

Ejemplos cotidianos: una rotación de 30 grados, un reflejo respecto del eje X, una combinación de rotación y reflejo. Todas son matrices ortogonales.

Caso aplicado · geología y geotecnia

Cambio de ejes para alinearse con la veta

Las vetas mineralizadas rara vez son horizontales. Pueden tener una inclinación (manteo) de 45 grados o más. Para estudiarlas, los geólogos rotan los ejes del modelo geológico para que uno de los ejes quede paralelo a la veta. Esa rotación se hace con una matriz ortogonal.

Después del cambio de ejes, las leyes más altas quedan alineadas con un eje, lo que simplifica análisis posteriores (variogramas, kriging, planes de explotación).

Matriz ortogonal = cambio de coordenadas sin distorsión

Esfuerzos principales en geomecánica

El tensor de esfuerzos en una roca se representa con una matriz simétrica 3×3. Diagonalizarlo (lección 6) involucra encontrar la matriz ortogonal de rotació>n que alinea los ejes con las direcciones principales del esfuerzo — máximo, intermedio, mínimo. Esas direcciones determinan dónde la roca se fractura primero.

Geomecánica + matrices ortogonales = cálculo de estabilidad de excavaciones

Sistemas de navegación de equipos mineros

Las palas, camiones y perforadoras autónomas usan rotaciones (matrices ortogonales) para traducir entre los marcos de referencia: GPS global, marco de la mina, marco del vehículo, marco del sensor. Cada cambio de marco es una multiplicación por una matriz ortogonal.

+ Más parientes del concepto

El mundo de las matrices tiene muchas otras estructuras útiles:

Producto de Hadamard (elemento a elemento)Ver

No es la multiplicación clásica de matrices, sino multiplicar elemento por elemento (como una multiplicación entre vectores extendida a matrices). Usado en redes neuronales modernas como mecanismo de "attention" y en pesos por importancia.

Matrices dispersas (sparse)Ver

Matrices donde la mayoría de los elementos son cero. En mucha aplicaciones (grafos, sistemas grandes de ecuaciones, redes de calidad), las matrices son enormes pero esparcidas. Hay representaciones especiales (CSR, COO) y algoritmos específicos para no gastar memoria en los ceros.

Descomposición LU (factorización)Ver

Cualquier matriz cuadrada puede escribirse como producto de una triangular inferior L por una triangular superior U. Es el truco que usan las computadoras para resolver sistemas lineales eficientemente sin calcular inversas directamente. La base numérica de scipy, MATLAB y casi todos los solvers.

Número de condiciónVer

Mide qué tan "sensible" es un sistema lineal a pequeñas perturbaciones. Una matriz bien condicionada da resultados estables; una mal condicionada amplifica el ruido brutalmente. Antes de invertir o resolver un sistema con datos ruidosos, siempre verificá el número de condición con numpy.linalg.cond.

Ver el código en Python: cinco snippets, de matriz manual a sistema de balance Click para abrir

Empezamos con matriz por vector pura y escalamos hasta resolver un sistema real con número de condición.

1. Matriz por vector sin librerías:

01_matriz_vector_manual.pyPYTHON
# Multiplicar [[a, b], [c, d]] * (x, y) a mano
A = [[2, 1], [0, 3]]
v = [4, 5]

# Cada fila de A multiplica al vector v elemento a elemento y se suma
nuevo_x = A[0][0] * v[0] + A[0][1] * v[1]
nuevo_y = A[1][0] * v[0] + A[1][1] * v[1]

print(f"Vector original: ({v[0]}, {v[1]})")
print(f"Vector transformado: ({nuevo_x}, {nuevo_y})")

2. Operaciones básicas con numpy:

02_matrices_numpy.pyPYTHON
import numpy as np

A = np.array([[2, 1], [0, 3]])
v = np.array([4, 5])

# Matriz por vector (el operador @ es la multiplicacion matricial)
resultado = A @ v
print("A @ v =", resultado)

# Suma y multiplicacion por escalar
B = np.array([[1, 0], [2, 1]])
print("A + B =")
print(A + B)
print("3 * A =")
print(3 * A)

# Transpuesta
print("A transpuesta =")
print(A.T)

3. Determinante, inversa e identidad:

03_det_inversa.pyPYTHON
import numpy as np

A = np.array([[2.0, 1.0], [0.0, 3.0]])

# Determinante
det_A = np.linalg.det(A)
print("det(A) =", round(det_A, 3))  # = 6, el area se multiplica por 6

# Inversa
A_inv = np.linalg.inv(A)
print("A inversa =")
print(A_inv.round(3))

# Verificar: A @ A_inv debe ser aproximadamente la identidad
producto = A @ A_inv
print("A @ A_inv =")
print(producto.round(3))

# Identidad 2x2
I = np.eye(2)
print("Identidad =")
print(I)

4. Matriz ortogonal (rotación):

04_rotacion_ortogonal.pyPYTHON
import numpy as np

# Matriz de rotacion 30 grados
theta = np.radians(30)
R = np.array([
    [np.cos(theta), -np.sin(theta)],
    [np.sin(theta),  np.cos(theta)]
])

print("Matriz R =")
print(R.round(3))

# Propiedad magica: R transpuesta = R inversa
print("R.T @ R =")
print((R.T @ R).round(3))   # Debe ser identidad

# Determinante de R = 1 (rotacion no cambia area)
print("det(R) =", round(np.linalg.det(R), 3))

# Aplicar R a varios vectores en lote (rotar todos a la vez)
vectores = np.array([[1, 0], [0, 1], [2, 3]])
rotados = vectores @ R.T   # Cada fila se rota
print("Vectores originales:"); print(vectores)
print("Vectores rotados:"); print(rotados.round(3))

5. Resolver un sistema (balance metalúrgico simplificado):

05_balance_sistema.pyPYTHON
import numpy as np

# Tres stocks con leyes diferentes de Cu, Au, S
# Queremos mezcla con: 1.0% Cu, 2.5 g/t Au, 6% S
# Matriz A: columnas = stocks, filas = elementos
A = np.array([
    [0.5, 1.5, 0.8],   # leyes de Cu (%)
    [1.0, 4.0, 2.5],   # leyes de Au (g/t)
    [3.0, 10.0, 5.0]   # leyes de S (%)
])

# Objetivo
b = np.array([1.0, 2.5, 6.0])

# Verificar que el sistema sea bien condicionado antes de invertir
cond = np.linalg.cond(A)
print(f"Numero de condicion: {cond:.2f}")
if cond > 1000:
    print("ADVERTENCIA: matriz mal condicionada, soluciones inestables")

# Resolver: x son las fracciones de cada stock
x = np.linalg.solve(A, b)
print("Fracciones de cada stock:")
for i, f in enumerate(x):
    print(f"  Stock {i+1}: {f*100:.1f}%")
print(f"Suma: {x.sum()*100:.1f}% (deberia ser 100%)")

9 Pregunta de chequeo

Si aplicás la matriz [[2, 0], [0, 1]] al cuadrado unidad (con vértices en (0,0), (1,0), (1,1), (0,1)), ¿qué figura sale?

Próxima lección

Acabas de ver que casi cualquier transformación deforma todo el plano. Pero hay direcciones especiales que la matriz no rota — solo estira o encoge. Esas direcciones se llaman vectores propios, y el factor con el que se estiran son los valores propios. Es la clave de PCA, de las redes profundas y de muchos algoritmos de IA. Eso viene en la próxima lección.

LinkedIn WhatsApp

Regístrate al boletín MathPlay

De la idea al laboratorio que funciona: datos, simulación, visualización, IA y tecnología aplicada. Te escribo cuando hay algo nuevo que vale la pena compartir.

Sin calendario fijo. Sin spam.

Listo. Te escribo cuando haya algo nuevo.

CB
Mate MathPlay
Material de refuerzo · Perú

MathPlay conecta matemática, programación, visualización y casos reales para convertir datos, prototipos e inteligencia artificial en decisiones útiles. Material gratuito, abierto y autocontenido.

Más de MathPlay
← Lección anterior: bayesianaSiguiente: valores propios →Volver al módulo