import matplotlib.pyplot as plt
import numpy as np
from matplotlib_inline.backend_inline import set_matplotlib_formats
set_matplotlib_formats('svg')
x = np.linspace(-10, 10, 100)
y = 2 * x + 3
fig, ax = plt.subplots(figsize=(4, 2))
ax.plot(x, y, label="y = 2x + 3", color="blue", linewidth=2)
ax.axhline(0, color="black", linewidth=0.5, linestyle="--")
ax.axvline(0, color="black", linewidth=0.5, linestyle="--")
ax.set_title("Gráfico de una Ecuación Lineal")
ax.set_xlabel("Eje X")
ax.set_ylabel("Eje Y")
ax.grid(True, linestyle=":", alpha=0.6)
ax.legend()Sistemas de ecuaciones lineales
1 Ecuaciones lineales
1.1 Concepto de ecuación lineal
Una ecuación es una igualdad entre dos expresiones. Resolver una ecuación o un sistema de ecuaciones consiste en encontrar todos los valores de las incógnitas que hacen verdadera dicha igualdad.
Una ecuación lineal con \(n\) incógnitas es aquella donde cada incógnita aparece solo en primer grado, no se multiplica por otras incógnitas y no se encuentra dentro de funciones no lineales. Su forma general es:
\(a_1x_1 + a_2x_2 + a_3x_3 + ... + a_nx_n=b\)
En esta expresión:
- \(a_n\) son los coeficientes
- \(x_n\) son las incógnitas
- \(b\) es el término independiente
\(2x +5y = 0\)
es una ecuación lineal con coeficientes “2” y “5”, incógnitas “x” e “y”, y término independiente “0”.
1.2 Representación gráfica
Se denominan ecuaciones lineales porque representan una línea recta en el plano (cuando constan de dos variables) y porque sus incógnitas se comportan de forma lineal: se presentan en primer grado, sin productos entre ellas ni potencias.
Una ecuación lineal con dos variables representa una recta en el plano:
\(y=2x + 3\)
- El número 2 es la pendiente: indica cuánto sube la recta por cada unidad que avanza en x.
- El número 3 es la ordenada en el origen: el punto donde la recta corta el eje
Para cada valor de “x” hay un valor de “y”:
Si x = 0, entonces y = 3 Si x = 1, entonces y = 5 Si x = 2, entonces y = 7
Estos pares \((x, y)\) se pueden representar en un sistema de coordenadas bidimensional en forma de puntos. La unión de todos estos puntos constituye una línea recta, la cual representa la gráfica de la ecuación.
A continuación, se presenta una ecuación lineal con tres incógnitas. En este caso, la gráfica de todos los puntos que satisfacen la ecuación en el espacio tridimensional genera un plano:
\(Z = 2X - 3Y + 5\)
Esta ecuación es lineal debido a que las incógnitas aparecen en primer grado y no existen productos entre variables ni potencias. Siguiendo el mismo procedimiento, es posible asignar valores a \(x\) e \(y\) para calcular el valor correspondiente de \(z\), lo que permite obtener un número infinito de puntos.
import matplotlib.pyplot as plt
import numpy as np
from matplotlib_inline.backend_inline import set_matplotlib_formats
set_matplotlib_formats('svg')
x = np.linspace(-10, 10, 20)
y = np.linspace(-10, 10, 20)
X, Y = np.meshgrid(x, y)
Z = 2 * X - 3 * Y + 5
fig = plt.figure(figsize=(6, 5))
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z, cmap='viridis', alpha=0.8, edgecolor='gray', linewidth=0.3)
ax.view_init(elev=25, azim=35)
ax.set_title("Plano en 3D (Vista Perspectiva)")
ax.set_xlabel("Eje X")
ax.set_ylabel("Eje Y")
ax.set_zlabel("Eje Z")
plt.tight_layout()
plt.show()1.3 El hiperplano
Hasta ahora hemos analizado cómo se representan las ecuaciones en el plano bidimensional (\(R^2\)) y en el espacio tridimensional (\(R^3\)).
El símbolo \(R^n\) representa un espacio geométrico y matemático donde cada punto o vector está compuesto por una lista ordenada de \(n\) números reales.En \(R^2\), un punto se define mediante dos coordenadas: \((x_1, x_2)\).En \(R^3\), un punto se define mediante tres coordenadas: \((x_1, x_2, x_3)\).En \(R^n\), un punto (o vector) se define mediante \(n\) coordenadas: \((x_1, x_2, x_3, \dots, x_n)\).A este elemento en un espacio de alta dimensión se le denomina habitualmente vector de características (feature vector).
Así como en \(R^2\) una ecuación lineal genera una línea y en \(R^3\) genera un plano, en cualquier espacio superior (\(R^4\) en adelante) una ecuación lineal genera un hiperplano. Geométricamente no podemos imaginarlo, pero algebraicamente se comporta exactamente igual.
Imaginemos que retomamos el ejemplo de la tasación de viviendas. Podemos entender las dimensiones como “atributos” o “características” independientes:
- Una dimensión (\(R^1\)): Si solo conocemos los metros cuadrados de una casa, cada vivienda es un único punto en una línea recta continua.
- Dos dimensiones (\(R^2\)): Si añadimos el número de habitaciones, ahora podemos dibujar la vivienda como un punto en un plano cartesiano (eje \(X\) = metros cuadrados, eje \(Y\) = habitaciones). Aquí la distancia visual entre puntos refleja qué tan similares son dos casas.
- Tres dimensiones (\(R^3\)): Si sumamos la antigüedad en años, el plano se convierte en un cubo tridimensional. Los puntos flotan en el espacio.
- Cuatro dimensiones o más (\(R^n\)): ¿Qué ocurre si añadimos el número de baños, la distancia al transporte público, el índice de criminalidad del barrio y la eficiencia energética? Ahora nuestro vector tiene 7 características; es decir, vive en \(R^7\).Aunque nuestro ojo no puede ver un gráfico en siete dimensiones, las reglas matemáticas del álgebra lineal siguen siendo idénticas. Podemos calcular la distancia matemática entre dos vectores en \(R^7\) para saber si dos viviendas son parecidas, o trazar un hiperplano de regresión en \(R^7\) para predecir el precio del inmueble. En machine learning, “visualizar” significa operar matemáticamente.
2 Sistema de ecuaciones lineales
2.1 Qué es un sistema de ecuaciones lineales
Un sistema de ecuaciones lineales es un conjunto de ecuaciones lineales que comparten las mismas incógnitas y deben cumplirse simultáneamente.
Esto es un sistema de ecuaciones lineales dónde tenemos tres ecuaciones lineales y tres incognitas, el valor de las incognitas una vez resuelto el sistema será el mismo.
\[\begin{cases} 2x + y - z = 3 \\ -x + 3y + 2z = 4 \\ 3x - 2y + z = 1 \end{cases}\]Un sistema de ecuaciones lineales puede escribirse de forma matricial para trabajar de manera más rápida y estructurada. A partir de un sistema se puede construir dos matrices: * Matriz de coeficientes * Matriz ampliada
La matriz de coeficientes contiene únicamente los coeficientes de las incógnitas, cada columna representa un coeficiente, si en una ecuación dada no existe uno de los coeficientes en la matriz será 0.
A = \[\begin{pmatrix} 2 & 1 & -1 \\ -1 & 3 & 2 \\ 3 & -2 & 1 \end{pmatrix}\]La matriz ampliada añade a la matriz de coeficientes la columna de términos independientes. Es la matriz que se usa para aplicar métodos como eliminación de Gauss que permiten resolver las icognitas del sistema.
(A|B) = ( \[\begin{array}{ccc|c} 2 & 1 & -1 & 3 \\ -1 & 3 & 2 & 4 \\ 3 & -2 & 1 & 1 \end{array}\])
2.2 Tipos de ecuaciones lineales
Los sistemas de ecuaciones lineales pueden no tener solución o tener solución. Si tienen solución, esta puede ser única o puede haber infinitas soluciones. Esto lleva a la clasificación del sistema:
- Compatible determinado — cuando tiene una única solución.
- Compatible indeterminado — cuando tiene infinitas soluciones.
- Sistema incompatible — cuando no tiene solución.
El siguiente sistema es un sistema compatible determinado, ya que tiene una única solución:
\[\begin{cases} x + y = 5 \\ x + 2y = 8 \end{cases}\]Se podría llegar a resolver de forma sencilla mediante el método de sustitución.
1 Aislando la incognita “y” de la segunda ecuación:
\(y = \frac{8 - x}{2}\)
2 Sustituimos esta expresión en la primera ecuación y obtenemos de esta manera una ecuación de una incognita que despejando permite encontrar el valor de la icognita “x”:
\(x + \frac{8 - x}{2} = 5\)
\(x = 2\)
3 Con el valor de “x” usando cualquiera de las ecuaciones se puede encontrar el valor de “y”.
\(y = \frac{8 - x}{2} = 3\)
\(y = 5 - x = 3\)
El objetivo no es únicamente aprender a resolver sistemas de ecuaciones lineales, sino comprender qué es una ecuación lineal y qué significa resolver un sistema.
Un sistema de dos ecuaciones lineales con dos incógnitas vive en el espacio \(R^2\) porque cada solución posible es un par (x, y).
Cada ecuación lineal en dos variables representa una recta en el plano cartesiano. Por tanto, un sistema de dos ecuaciones lineales corresponde a dos rectas en \(R^2\).
Cuando el sistema tiene solución, como en este caso, encontramos un par (x, y) que satisface ambas ecuaciones simultáneamente. Ese par —por ejemplo, x = 3 e y = 5 — es un punto del plano que pertenece a las dos rectas a la vez.
Geométricamente, resolver el sistema significa encontrar el punto de intersección entre las dos rectas que representan las ecuaciones.
Ahora aquí se muestran tres ecuaciones distintas:
2.2.1 Compatible determinado
Un sistema es compatible determinado cuando tiene una única solución.
\[\begin{cases} x + y = 3 \\ 2x + y = 4 \end{cases}\]import numpy as np
# Definir las matrices del sistema
A = np.array([[1, 1],
[2, 1]])
B = np.array([3, 4])
# Resolver el sistema
x, y = np.linalg.solve(A, B)
print(f"Solución: x = {x}, y = {y}")Solución: x = 1.0, y = 2.0
La solución es (1, 2). Este punto es el único punto de \(R^2\) que satisface simultáneamente ambas ecuaciones. Geométricamente, resolver el sistema significa encontrar el punto de intersección entre las dos rectas.
\ /
\ /
\ /
\ /
\/
/\
/ \
/ \
/ \
/ \
2.2.2 Compatible indeterminado
Un sistema es compatible indeterminado cuando tiene infinitas soluciones. Esto ocurre cuando las dos ecuaciones representan exactamente la misma recta.
\[\begin{cases} x + y = 3 \\ 3x + 3y = 9 \end{cases}\]La segunda ecuación es simplemente la primera multiplicada por 3. Por tanto:
- las rectas son coincidentes
- cualquier punto de una recta pertenece también a la otra
- el sistema tiene infinitas soluciones
En términos de álgebra lineal, las ecuaciones son linealmente dependientes, y el sistema tiene rango menor que el número de incógnitas.
Decimos que dos ecuaciones son linealmente dependientes cuando una de ellas puede obtenerse como una combinación lineal de la otra. Una ecuación es linealmente dependiente de otra si existe un número real “k” tal que multiplicando todos los términos de la primera ecuación por “k” obtenemos exactamente la segunda.
En este ejemplo se ve muy claramente la dependencia lineal: si multiplicamos la primera ecuación por 3, obtenemos exactamente la segunda ecuación. De la misma forma, si multiplicamos la segunda ecuación por 1/3, recuperamos la primera.
2.2.3 Incompatibles
Un sistema es incompatible cuando no tiene solución. Esto ocurre cuando las rectas son paralelas y no se cortan en ningún punto.
\[\begin{cases} x + y = 3 \\ x + y = 5 \end{cases}\]Ambas ecuaciones tienen la misma pendiente, pero distintos términos independientes. Por tanto:, representan rectas paralelas, no existe ningún punto que satisfaga ambas ecuaciones. En términos algebraicos, el sistema es incompatible porque las ecuaciones aportan información contradictoria.
Toda esta intución en \(R^2\) es valida en dimensiones mayores, en \(R^3\) son los mismos conceptos e interpretaciones, solo que en lugar de lineas se trabaja con planos. En este caso se trabaja con tres incognitos y tres ecuaciones, un sistema compatible deterinado dará un punto común a los tres planos, un único punto. Si es compatible indeterminado tendremos un número infinito de puntos coincidentes en los tres planos. Incompatible será cuando no haya ningun punto común.
2.2.4 Intuición en \(R^3\)
Toda la intuición que desarrollamos en \(R^2\) se mantiene perfectamente en dimensiones superiores.En \(R^3\) los conceptos son los mismos, pero las rectas se sustituyen por planos, porque ahora trabajamos con tres incógnitas y tres ecuaciones lineales.
Cada ecuación lineal en tres variables representa un plano en \(R^3\). Por tanto, un sistema de tres ecuaciones lineales corresponde a tres planos en el espacio.
A partir de aquí, la clasificación es exactamente la misma que en \(R^2\), solo que la geometría cambia:
Sistema compatible determinado
El sistema tiene una única solución. Geométricamente los tres planos se cortan en un único punto de \(R^3\). Ese punto es la única terna (x, y, z) que satisface simultáneamente las tres ecuaciones.
Sistema compatible indeterminado
El sistema tiene infinitas soluciones. Esto ocurre cuando los tres planos tienen una región común con infinitos puntos.
Las configuraciones típicas son:
- Los tres planos coinciden completamente.
- Dos planos coinciden y el tercero los corta en una recta.
- Los tres planos se cortan en una misma recta.
Sistema incompatible
El sistema no tiene solución. Esto ocurre cuando no existe ningún punto que pertenezca simultáneamente a los tres planos.
Las configuraciones típicas:
- Tres planos paralelos entre sí.
- Dos planos paralelos y el tercero los corta.
- Tres planos que se cruzan de forma que no coinciden en un punto común.
3 Determinante y Rango
3.1 Determinante
El determinante y el rango de una matriz de coeficientes permite identificar el tipo de sistema de ecuación lineal.
\[\begin{cases} x + y = 3 \\ 2x + y = 4 \end{cases}\] \[\begin{cases} x + y = 3 \\ 3x + 3y = 9 \end{cases}\] \[\begin{cases} x + y = 3 \\ x + y = 5 \end{cases}\]import numpy as np
A = np.array([[1, 1],
[2, 1]])
detA = np.linalg.det(A)
print("Determinante:", detA)Determinante: -1.0
import numpy as np
A = np.array([[1, 1],
[3, 3]])
detA = np.linalg.det(A)
print("Determinante:", detA)Determinante: -1.665334536937729e-16
import numpy as np
A = np.array([[1, 1],
[1, 1]])
detA = np.linalg.det(A)
print("Determinante:", detA)Determinante: 0.0
El determinante permite detectar si las filas de una matriz son linealmente dependientes. * Si el determinante es 0, entonces existe una relación lineal entre las filas (o columnas) de la matriz. Esto significa que al menos una de las filas puede expresarse como combinación lineal de las otras, y por tanto la matriz es no invertible. * Si el determinante es distinto de 0, las filas son linealmente independientes y el sistema asociado es compatible determinado, es decir, tiene una única solución.
3.2 Rango
El rango indica cuántas filas son linealmente independientes. Es decir, cuánta información no redundante contiene la matriz. * Si el rango es máximo, todas las ecuaciones aportan información nueva. * Si el rango es menor, significa que algunas ecuaciones son combinaciones lineales de otras, y por tanto no aportan información adicional.
3.2.1 Ejemplo 1
Aquí hay un sistema de ecuaciones junto a su matriz de coeficientes:
\[\begin{cases} x + y + z = 6 \\ 2x - y + z = 3 \\ -x + 2y + z = 4 \end{cases}\] \[\begin{pmatrix} 1 & 1 & 1 \\ 2 & -1 & 1 \\ -1 & 2 & 1 \end{pmatrix}\]Gracias al determinante podemos saber si un sistema es compatible determinado. En este caso, el determinante vale −4, lo que implica que la matriz de coeficientes es invertible. Esto significa que no existe ninguna relación lineal entre sus filas, es decir, las tres filas son linealmente independientes. Por tanto, el rango de la matriz es 3, y el sistema tiene una única solución.
import numpy as np
A = np.array([[1, 1, 1],
[1, -1, 1],
[-1, 2, 1]])
detA = np.linalg.det(A)
rango = np.linalg.matrix_rank(A)
print("Determinante:", detA)
print("Rango:", rango)Determinante: -4.0
Rango: 3
3.2.2 Ejemplo 2
En este ejemplo, el determinante es 0. Esto significa que la matriz de coeficientes no es invertible, y por tanto el sistema no puede tener solución única. Que el determinante sea 0 implica que existe al menos una relación lineal entre sus filas, es decir, una de las filas puede expresarse como combinación lineal de las otras.
El rango es 2. Esto indica que solo dos filas son linealmente independientes, mientras que la tercera es dependiente (equivalente o combinación lineal de las otras dos).
\[\begin{cases} x + y + z = 3 \\ 2x + 2y + 2z = 6 \\ x - y + z = 1 \end{cases}\] \[\begin{pmatrix} 1 & 1 & 1 \\ 2 & 2 & 2 \\ 1 & -1 & 1 \end{pmatrix}\],
import numpy as np
A = np.array([[1, 1, 1],
[2, 2, 2],
[1, -1, 1]])
detA = np.linalg.det(A)
rango = np.linalg.matrix_rank(A)
print("Determinante:", detA)
print("Rango:", rango)Determinante: 0.0
Rango: 2
3.2.3 Ejemplo 3
Cuando cambiamos el término independiente, el sistema puede pasar de ser compatible determinado a incompatible, porque ese cambio puede introducir una contradicción entre las ecuaciones.
\[\begin{cases} x + y + z = 3 \\ 2x + 2y + 2z = 7 \\ x - y + z = 1 \end{cases}\] \[\begin{pmatrix} 1 & 1 & 1 \\ 2 & 2 & 2 \\ 1 & -1 & 1 \end{pmatrix}\]Para detectarlo, comparamos el rango de la matriz de coeficientes con el rango de la matriz ampliada.
- Si ambos rangos coinciden, el sistema es compatible (tiene solución).
- Si los rangos no coinciden, entonces aparece una contradicción y el sistema es incompatible (no tiene solución).
El cambio en el termino independiente cambia el sistema de un compatible determinado hacia uno incompatible porque no tiene solución. Ahora una de las pruebas que se puede hacer es calcular el rango de la matriz, pero en este caso el de la ampliada y lo que deberiamos de ver es que la matriz ampliada y la matriz de coeficientes tengan el mismo rango, si esto no es así, quiere decir que hay una contradicción y que el sistema en realidad es no compatible.
En este caso el rango de la matriz ampliada es de 3 que difiere de la matriz de coeficientes que es 2
import numpy as np
A = np.array([[1, 1, 1, 3],
[2, 2, 2, 7],
[1, -1, 1, 1]])
rango = np.linalg.matrix_rank(A)
print("Rango:", rango)Rango: 3
Si calculamos el rango de la matriz ampliada del ejemplo anterior —donde el rango era 2— veremos que coincide con el rango de la matriz de coeficientes. Como ambos rangos son iguales, el sistema es compatible. Además, como el rango es 2 y el número de incógnitas es 3, el sistema es compatible indeterminado: tiene infinitas soluciones.
import numpy as np
A = np.array([[1, 1, 1, 3],
[2, 2, 2, 6],
[1, -1, 1, 1]])
rango = np.linalg.matrix_rank(A)
print("Rango:", rango)Rango: 2
- Si el rango de la matriz de coeficientes y el de la ampliada coinciden, el sistema es compatible.
- Si además ese rango es menor que el número de incógnitas, el sistema es compatible indeterminado (infinitas soluciones).
- Si los rangos no coinciden, el sistema es incompatible.
4 Manipulación de matrices
Las matrices pueden manipularse mediante transformaciones elementales de fila.Estas transformaciones producen ecuaciones equivalentes, es decir, linealmente dependientes de las originales. Por tanto, no cambian el rango ni el conjunto de soluciones del sistema.
Las operaciones permitidas son:
- Multiplicar una fila por un escalar no nulo.
- Sumar a una fila un múltiplo de otra.
- Intercambiar dos filas.
Todas estas operaciones preservan el rango y la compatibilidad del sistema. Aquí hay un sistema de ecuaciones compatible determinado. Porque es un sistema de ecuaciones de 3 incognitas, 3 ecuaciones de rango 3 tanto a matriz de coeficientes como a extendida.
\[\begin{cases} x + y + z = 6 \\ 2x - y + z = 3 \\ -x + 2y + z = 4 \end{cases}\] \[\begin{pmatrix} 1 & 1 & 1 \\ 2 & -1 & 1 \\ -1 & 2 & 1 \end{pmatrix}\] \[\begin{array}{ccc|c} 1 & 1 & 1 & 6\\ 2 & -1 & 1 & 3\\ -1 & 2 & 1 & 4 \end{array}\]import numpy as np
A = np.array([[1, 1, 1],
[2, -1, 1],
[-1, 2, 1]])
B = np.array([6, 3, 4])
print("Rango A:", np.linalg.matrix_rank(A))
A_ext = np.column_stack((A, B))
print("Matriz extendida resultante")
print(A_ext)
print("Rango A extendida:", np.linalg.matrix_rank(A_ext))
x, y, z = np.linalg.solve(A, B)
print(f"Solución: x = {x}, y = {y}, z = {z}")Rango A: 3
Matriz extendida resultante
[[ 1 1 1 6]
[ 2 -1 1 3]
[-1 2 1 4]]
Rango A extendida: 3
Solución: x = 2.333333333333333, y = 2.6666666666666665, z = 1.0
Multiplicar una fila por un escalar no nulo
Ahora si en una de las ecuaciones se multiplica una de las filas por un escalar no nulo, por ejemplo, la segunda fila multiplicarla por “2”, se puede observar que no ha cambiado nada, los rangos son los mismos y la solución es la misma.
import numpy as np
A = np.array([[1, 1, 1],
[2, -1, 1],
[-1, 2, 1]])
B = np.array([6, 3, 4])
A1 = A.copy()
B1 = B.copy()
A1[1] = 2 * A1[1]
B1[1] = 2 * B1[1]
A_ext = np.column_stack((A1, B1))
print("Matriz extendida resultante")
print(A_ext)
print("Rango A1:", np.linalg.matrix_rank(A1))
print("Rango A1 ext:", np.linalg.matrix_rank(A_ext))
x1, y1, z1 = np.linalg.solve(A1, B1)
print(f"Solución tras F2 <- 2F2: x = {x1}, y = {y1}, z = {z1}")Matriz extendida resultante
[[ 1 1 1 6]
[ 4 -2 2 6]
[-1 2 1 4]]
Rango A1: 3
Rango A1 ext: 3
Solución tras F2 <- 2F2: x = 2.333333333333333, y = 2.6666666666666665, z = 1.0
Sumar a una fila un múltiplo de otra
Por ejemplo podemos multiplicar la F2 por el multiplo 1 y sumar a F1. F1 + 1F2 -> F1
import numpy as np
A = np.array([[1, 1, 1],
[2, -1, 1],
[-1, 2, 1]])
B = np.array([6, 3, 4])
A2 = A.copy()
B2 = B.copy()
A2[0] = A2[0] + A2[1] # F1 <- F1 + F2
B2[0] = B2[0] + B2[1]
A_ext = np.column_stack((A2, B2))
print("Matriz extendida resultante")
print(A_ext)
print("Rango A2:", np.linalg.matrix_rank(A2))
print("Rango A2 ext:", np.linalg.matrix_rank(A_ext))
x2, y2, z2 = np.linalg.solve(A2, B2)
print(f"Solución tras F1 <- F1 + F2: x = {x2}, y = {y2}, z = {z2}")Matriz extendida resultante
[[ 3 0 2 9]
[ 2 -1 1 3]
[-1 2 1 4]]
Rango A2: 3
Rango A2 ext: 3
Solución tras F1 <- F1 + F2: x = 2.3333333333333326, y = 2.666666666666666, z = 1.0000000000000009
Intercambiar dos filas
Intercambiando el orden de las ecuaciones tampoco afecta a la solución y rango del sistema.
4.1 El impacto de las operaciones en el rango y el espacio fila
Cuando se suman dos ecuaciones de un sistema lineal, se obtiene una nueva ecuación que es una combinación lineal de las anteriores. Desde la perspectiva del álgebra lineal, esta nueva ecuación es linealmente dependiente, lo que significa que no aporta información adicional (no añade dimensiones) al espacio generado por el sistema original.
Consideremos el siguiente sistema inicial representado por su matriz de coeficientes:
\(A = \begin{pmatrix} 1 & 2 \\ 3 & -1 \end{pmatrix}\)
El rango de esta matriz es 2, ya que sus dos filas son linealmente independientes. Si sumamos ambas filas para generar una tercera, obtenemos la matriz ampliada en filas:
\(A' = \begin{pmatrix} 1 & 2 \\ 3 & -1 \\ 4 & 1 \end{pmatrix}\)
El rango de esta nueva matriz sigue siendo 2. La tercera fila es redundante porque el espacio fila ya estaba completamente determinado por las dos primeras.
Si el sistema original de dos ecuaciones independientes representa dos rectas que se cruzan en un único punto (un Sistema Compatible Determinado), la tercera recta obtenida mediante la suma pasará obligatoriamente por ese mismo punto de intersección. No altera la solución del sistema.
¿Qué ocurre si descartamos una de las ecuaciones originales pero conservamos la nueva ecuación suma? Dependiendo de cuál eliminemos, obtendríamos uno de los siguientes sistemas:
Opción A:
\(\begin{pmatrix} 1 & 2 \\ 4 & 1 \end{pmatrix}\)
Opción B:
\(\begin{pmatrix} 3 & -1 \\ 4 & 1 \end{pmatrix}\)
En ambos casos, el rango se mantiene en 2. La información geométrica y analítica del sistema no se ha perdido, simplemente se ha transformado.Matemáticamente, cualquier par de estas tres ecuaciones es linealmente independiente y, por lo tanto, forma una base del mismo espacio fila. Mientras conserves dos ecuaciones cualesquiera de las tres, el sistema retendrá exactamente la misma información y la misma solución única original.
5 Simplificación de matrices
Gracias a las transformaciones elementales por fila, que permiten modificar una matriz sin alterar su compatibilidad, su rango ni las soluciones del sistema, es posible transformar una matriz en formas más simples (escalonada o escalonada reducida). Esto nos permite:
- Resolver el sistema de manera más sencilla.Identificar el rango de la matriz.
- Detectar filas que no aportan información (filas nulas \(\rightarrow\) dependencia lineal).
- Detectar contradicciones (sistemas incompatibles).
Las filas simplificadas no son las originales, pero representan la misma información ya que son filas equivalentes.
Por ejemplo, si tenemos la siguiente matriz y realizamos la operación:
\(F_2 = F_2 - 2F_1\):
\(\begin{pmatrix} 1 & 1 \\ 2 & 2 \end{pmatrix} \rightarrow \begin{pmatrix} 1 & 1 \\ 0 & 0 \end{pmatrix}\)
Se observa cómo la segunda fila se vuelve nula, demostrando que era redundante por ser linealmente dependiente de la primera.
5.1 Resolución de un sistema mediante el método de Gauss
Dado el siguiente sistema de ecuaciones:
\(\begin{cases} x + y + z = 6 \\ 2x - y + z = 3 \\ -x + 2y + z = 4 \end{cases}\)
Nuestro objetivo es obtener una matriz escalonada, donde todos los elementos por debajo de los pivotes sean igual a cero. Buscamos una estructura como la siguiente (donde los asteriscos representan cualquier valor real):
\(\begin{array}{ccc|c} * & * & * & *\\ 0 & * & * & *\\ 0 & 0 & * & * \end{array}\)
Partimos de la matriz ampliada original:
\(\begin{array}{ccc|c} 1 & 1 & 1 & 6\\ 2 & -1 & 1 & 3\\ -1 & 2 & 1 & 4 \end{array}\)
Aplicamos la transformación \(F_2 = F_2 - 2F_1\) para lograr el primer cero en la segunda fila:
\(\begin{array}{ccc|c} 1 & 1 & 1 & 6\\ 0 & -3 & -1 & -9\\ -1 & 2 & 1 & 4 \end{array}\)
Para la tercera fila, aplicamos \(F_3 = F_3 + F_1\) logrando el primer cero de esa fila:
\(\begin{array}{ccc|c} 1 & 1 & 1 & 6\\ 0 & -3 & -1 & -9\\ 0 & 3 & 2 & 10 \end{array}\)
Finalmente, eliminamos el segundo elemento de la tercera fila mediante la operación \(F_3 = F_3 + F_2\):
\(\begin{array}{ccc|c} 1 & 1 & 1 & 6\\ 0 & -3 & -1 & -9\\ 0 & 0 & 1 & 1 \end{array}\)
Esta es la matriz escalonada obtenida mediante el método de Gauss. Si la traducimos nuevamente a ecuaciones, obtenemos un sistema escalonado muy sencillo de resolver mediante sustitución regresiva (de abajo hacia arriba):
\(\begin{cases} x + y + z = 6 \\ -3y - z = -9 \\ z = 1 \end{cases}\)
A través de este proceso se comprueba que el rango de la matriz es 3, ya que quedan 3 filas no nulas que aportan información independiente.
- Si durante el proceso una fila se vuelve completamente cero \((0 \, 0 \, 0 \mid 0)\), significa que era redundante y no aporta información nueva.
- Si obtenemos una fila con la parte de los coeficientes en cero pero con un término independiente distinto de cero \((0 \, 0 \, 0 \mid k)\), el sistema es incompatible (no tiene solución), ya que es imposible que algo multiplicado por cero dé un valor diferente de cero.
5.2 Método de Gauss-Jordan: Matriz Escalonada Reducida
Podemos ir un paso más allá para obtener la matriz escalonada reducida (donde los pivotes son igual a 1 y los elementos por encima de ellos pasan a ser 0), lo que nos dará la solución directa:
\(\begin{array}{ccc|c} 1 & 0 & 0 & *\\ 0 & 1 & 0 & *\\ 0 & 0 & 1 & * \end{array}\)
Este es el punto de partida:
\(\begin{array}{ccc|c} 1 & 1 & 1 & 6\\ 0 & -3 & -1 & -9\\ 0 & 0 & 1 & 1 \end{array}\)
Para evitar trabajar con incómodos decimales periódicos, realizamos las operaciones de reducción hacia arriba antes de normalizar los pivotes:
Eliminamos el término en \(z\) de la segunda fila (\(F_2 = F_2 + F_3\)):
\(\begin{array}{ccc|c} 1 & 1 & 1 & 6\\ 0 & -3 & 0 & -8\\ 0 & 0 & 1 & 1 \end{array}\)
Multiplicamos la primera fila para facilitar la eliminación (\(F_1 = 3F_1\)):
\(\begin{array}{ccc|c} 3 & 3 & 3 & 18\\ 0 & -3 & 0 & -8\\ 0 & 0 & 1 & 1 \end{array}\)
Eliminamos el término en \(y\) de la primera fila (\(F_1 = F_1 + F_2\)):
\(\begin{array}{ccc|c} 3 & 0 & 3 & 10\\ 0 & -3 & 0 & -8\\ 0 & 0 & 1 & 1 \end{array}\)
Eliminamos el término en \(z\) de la primera fila (\(F_1 = F_1 - 3F_3\)):
\(\begin{array}{ccc|c} 3 & 0 & 0 & 7\\ 0 & -3 & 0 & -8\\ 0 & 0 & 1 & 1 \end{array}\)
Finalmente, normalizamos los pivotes dividiendo cada fila por su coeficiente principal (\(F_1 = \frac{1}{3}F_1\) y \(F_2 = -\frac{1}{3}F_2\)):
\(\begin{array}{ccc|c} 1 & 0 & 0 & 7/3\\ 0 & 1 & 0 & 8/3\\ 0 & 0 & 1 & 1 \end{array}\)
De esta manera, el sistema queda completamente resuelto, asociando de forma directa cada incógnita a su valor exacto en fracciones: \(x = \frac{7}{3}\), \(y = \frac{8}{3}\), \(z = 1\).