Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Introducción a la Descomposición de Matrices | Fundamentos de Álgebra Lineal
Matemáticas para Ciencia de Datos

bookIntroducción a la Descomposición de Matrices

Resolver sistemas como Ax=bA \vec{x} = \vec{b} puede ser computacionalmente intensivo, especialmente para sistemas grandes.

La descomposición matricial simplifica este proceso al dividir la matriz AA en partes más simples, que luego se pueden resolver por etapas.

LU vs QR

Descomponemos la matriz AA en otras matrices estructuradas.

Descomposición LU

Divide AA en una matriz triangular inferior y una superior:

  • Construida usando eliminación de Gauss;
  • Funciona mejor para matrices cuadradas.
A=LUA = LU

Descomposición QR

Divide AA en una matriz ortogonal y una superior:

  • Frecuentemente utilizada para matrices no cuadradas;
  • Ideal para problemas de mínimos cuadrados o cuando LU no es aplicable.
A=QRA = QR

Descomposición LU

Comenzar con una matriz cuadrada:

A=[4363]A = \begin{bmatrix} 4 & 3 \\ 6 & 3 \end{bmatrix}

El objetivo es escribir esto como:

A=LUA = LU

Donde:

L=[10l211],  U=[u11u120u22]L = \begin{bmatrix} 1 & 0 \\ l_{21} & 1 \end{bmatrix},\ \ U = \begin{bmatrix} u_{11} & u_{12} \\ 0 & u_{22} \end{bmatrix}

Esta descomposición es posible si A es cuadrada e invertible.

Puntos importantes:

  • Las matrices triangulares inferiores tienen todas las entradas por encima de la diagonal iguales a cero, lo que simplifica la sustitución hacia adelante;
  • Las matrices triangulares superiores tienen ceros por debajo de la diagonal, facilitando la sustitución hacia atrás;
  • Una matriz ortogonal tiene columnas que son vectores ortonormales (vectores de longitud 1 que son perpendiculares);
  • Esta propiedad preserva la longitud y los ángulos de los vectores, lo cual es útil para resolver mínimos cuadrados y mejorar la estabilidad numérica.

Eliminación Gaussiana

Aplicar la eliminación gaussiana para eliminar la entrada debajo del pivote en la esquina superior izquierda:

R2R264R1R_2 \rarr R_2 - \frac{6}{4}R_1

Esto nos da:

R2=[0,1.5]R'_2 = [0, -1.5]

Así, las matrices actualizadas son:

U=[4301.5]U = \begin{bmatrix} 4 & 3 \\ 0 & -1.5 \end{bmatrix}

Y a partir de nuestra operación de fila, sabemos que:

L=[101.51]L = \begin{bmatrix} 1 & 0 \\ 1.5 & 1 \end{bmatrix}

Puntos importantes:

  • La eliminación gaussiana elimina sistemáticamente las entradas debajo del elemento pivote en cada columna restando versiones escaladas de la fila pivote de las filas inferiores;
  • Este proceso transforma A en una matriz triangular superior U;
  • Los multiplicadores utilizados para eliminar estas entradas se almacenan en L, lo que permite representar A como el producto LU.

Resultado de la descomposición LU

Verificamos:

A=LU=[101.51][4301.5]=[4363]A = LU = \begin{bmatrix} 1 & 0 \\ 1.5 & 1 \end{bmatrix} \begin{bmatrix} 4 & 3 \\ 0 & -1.5 \end{bmatrix} = \begin{bmatrix} 4 & 3 \\ 6 & 3 \end{bmatrix}

Ahora el sistema Ax=bA \vec{x} = \vec{b} puede resolverse en dos pasos:

  1. Resolver Ly=bL \vec{y} = \vec{b} mediante sustitución hacia adelante;
  2. Resolver Ux=yU \vec{x} = \vec{y} mediante sustitución hacia atrás.

Descomposición QR

Se busca expresar una matriz AA como el producto de dos matrices:

A=QRA = QR

Donde:

  • AA es la matriz de entrada (por ejemplo, datos, coeficientes, etc.);
  • QQ es una matriz ortogonal (sus columnas son vectores ortonormales);
  • RR es una matriz triangular superior.

Ejemplo de desglose de forma:

A=[a1a2a3a4]=[q1q2q3q4][r11r120r22]A = \begin{bmatrix} a_1 & a_2 \\ a_3 & a_4 \end{bmatrix} = \begin{bmatrix} q_1 & q_2 \\ q_3 & q_4 \end{bmatrix} \begin{bmatrix} r_{11} & r_{12} \\ 0 & r_{22} \end{bmatrix}

Esta descomposición se utiliza frecuentemente cuando:

  • La matriz A no es cuadrada;
  • Resolución de problemas de mínimos cuadrados;
  • La descomposición LU no es estable.

¿Qué son los vectores ortonormales?

Vectores ortogonales

Dos vectores u,vu, v son ortogonales si su producto punto es cero:

uv=0u \cdot v = 0

Vector normalizado

Un vector uu está normalizado cuando u=1|u| = 1.

Conjunto ortonormal

Un conjunto de vectores {q1,q2,...,qk}\{q_1, q_2, ..., q_k\} es ortonormal si cada uno tiene longitud unitaria y son mutuamente ortogonales:

qiqj={1, si  i=j,0, si  ij.q_i \cdot q_j = \begin{cases} 1,\ \text{si}\ \ i = j,\\ 0,\ \text{si}\ \ i \neq j. \end{cases}

Importancia: las columnas ortonormales en QQ preservan la geometría, simplifican las proyecciones y mejoran la estabilidad numérica.

Definir la matriz A

Comencemos con este ejemplo:

A=[4363]A = \begin{bmatrix} 4 & 3 \\ 6 & 3 \end{bmatrix}

Utilizaremos el proceso de Gram-Schmidt para encontrar las matrices QQ y RR tales que A=QRA=QR. El proceso de Gram-Schmidt crea un conjunto ortonormal de vectores a partir de las columnas de AA.

Esto significa que los vectores en QQ son todos perpendiculares (ortogonales) entre sí y tienen longitud unitaria (normalizados). Esta propiedad simplifica muchos cálculos y mejora la estabilidad numérica al resolver sistemas.

Por lo tanto, el objetivo aquí es:

  • Hacer que las columnas de QQ sean ortonormales;
  • Crear la matriz RR que codificará las proyecciones.

Calcular el primer vector base

Extraemos la primera columna de AA:

a1=[46]a_1 = \begin{bmatrix} 4 \\ 6 \end{bmatrix}

Para normalizar esto, calculamos la norma:

a1=42+62=16+36=52|a_1| = \sqrt{4^2 + 6^2} = \sqrt{16 + 36} = \sqrt{52}

Luego:

q1=152[46]=[452652]q_1 = \frac{1}{\sqrt{52}} \begin{bmatrix} 4 \\ 6 \end{bmatrix} = \begin{bmatrix} \frac{4}{\sqrt{52}} \\ \frac{6}{\sqrt{52}} \end{bmatrix}

Este es el primer vector ortonormal para QQ.

Cómo normalizar un vector

Dado un vector:

v=[v1v2vn]v = \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix}

Calculamos su norma:

v=v12+v22+...+vn2|v| = \sqrt{v_1^2 + v_2^2 + ... + v^2_n}

Luego normalizamos:

v^=1vv\hat{v} = \frac{1}{|v|}v

Ejemplo:

v=[34],  v=32+42=5v = \begin{bmatrix} 3 \\ 4 \end{bmatrix},\ \ |v| = \sqrt{3^2 + 4^2} = 5

Así, nuestro vector normalizado es:

v^=15[34]=[0.60.8]\hat{v} = \frac{1}{5}\begin{bmatrix} 3 \\ 4 \end{bmatrix} = \begin{bmatrix} 0.6 \\ 0.8 \end{bmatrix}

Una vez que sabemos cómo normalizar y ortogonalizar vectores, podemos aplicar el proceso de Gram-Schmidt para formar la matriz QQ y usarla para calcular RR en la descomposición QR.

Calcular q₂ usando Gram-Schmidt

Para calcular q2q_2, comenzamos con la segunda columna de AA:

a2=[33]a_2 = \begin{bmatrix} 3 \\ 3 \end{bmatrix}

A continuación, proyecta a2a_2 sobre q1q_1:

r12=q1Ta2=152(43+63)=15230r_{12} = q_1^Ta_2 = \frac{1}{\sqrt{52}}(4 \cdot 3 + 6 \cdot 3) = \frac{1}{\sqrt{52}} \cdot 30

Elimina la proyección de a2a_2:

u2=a2r12q1u_2 = a_2 - r_{12}q_1

Luego normaliza (como se mostró anteriormente):

q2=u2u2q_2 = \frac{u_2}{|u_2|}

Ahora tanto q1q_1 como q2q_2 forman la base ortonormal para QQ. Ahora puedes ensamblar el resultado final:

Q=[q1q2],  R=[r11r120r22]Q = \begin{bmatrix} q_1 & q_2 \end{bmatrix},\ \ R = \begin{bmatrix} r_{11} & r_{12} \\ 0 & r_{22} \end{bmatrix}

Estos satisfacen:

A=QRA = QR
question mark

¿Cuál es el primer paso en el proceso de Gram-Schmidt para la descomposición QR?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 8

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 1.96

bookIntroducción a la Descomposición de Matrices

Desliza para mostrar el menú

Resolver sistemas como Ax=bA \vec{x} = \vec{b} puede ser computacionalmente intensivo, especialmente para sistemas grandes.

La descomposición matricial simplifica este proceso al dividir la matriz AA en partes más simples, que luego se pueden resolver por etapas.

LU vs QR

Descomponemos la matriz AA en otras matrices estructuradas.

Descomposición LU

Divide AA en una matriz triangular inferior y una superior:

  • Construida usando eliminación de Gauss;
  • Funciona mejor para matrices cuadradas.
A=LUA = LU

Descomposición QR

Divide AA en una matriz ortogonal y una superior:

  • Frecuentemente utilizada para matrices no cuadradas;
  • Ideal para problemas de mínimos cuadrados o cuando LU no es aplicable.
A=QRA = QR

Descomposición LU

Comenzar con una matriz cuadrada:

A=[4363]A = \begin{bmatrix} 4 & 3 \\ 6 & 3 \end{bmatrix}

El objetivo es escribir esto como:

A=LUA = LU

Donde:

L=[10l211],  U=[u11u120u22]L = \begin{bmatrix} 1 & 0 \\ l_{21} & 1 \end{bmatrix},\ \ U = \begin{bmatrix} u_{11} & u_{12} \\ 0 & u_{22} \end{bmatrix}

Esta descomposición es posible si A es cuadrada e invertible.

Puntos importantes:

  • Las matrices triangulares inferiores tienen todas las entradas por encima de la diagonal iguales a cero, lo que simplifica la sustitución hacia adelante;
  • Las matrices triangulares superiores tienen ceros por debajo de la diagonal, facilitando la sustitución hacia atrás;
  • Una matriz ortogonal tiene columnas que son vectores ortonormales (vectores de longitud 1 que son perpendiculares);
  • Esta propiedad preserva la longitud y los ángulos de los vectores, lo cual es útil para resolver mínimos cuadrados y mejorar la estabilidad numérica.

Eliminación Gaussiana

Aplicar la eliminación gaussiana para eliminar la entrada debajo del pivote en la esquina superior izquierda:

R2R264R1R_2 \rarr R_2 - \frac{6}{4}R_1

Esto nos da:

R2=[0,1.5]R'_2 = [0, -1.5]

Así, las matrices actualizadas son:

U=[4301.5]U = \begin{bmatrix} 4 & 3 \\ 0 & -1.5 \end{bmatrix}

Y a partir de nuestra operación de fila, sabemos que:

L=[101.51]L = \begin{bmatrix} 1 & 0 \\ 1.5 & 1 \end{bmatrix}

Puntos importantes:

  • La eliminación gaussiana elimina sistemáticamente las entradas debajo del elemento pivote en cada columna restando versiones escaladas de la fila pivote de las filas inferiores;
  • Este proceso transforma A en una matriz triangular superior U;
  • Los multiplicadores utilizados para eliminar estas entradas se almacenan en L, lo que permite representar A como el producto LU.

Resultado de la descomposición LU

Verificamos:

A=LU=[101.51][4301.5]=[4363]A = LU = \begin{bmatrix} 1 & 0 \\ 1.5 & 1 \end{bmatrix} \begin{bmatrix} 4 & 3 \\ 0 & -1.5 \end{bmatrix} = \begin{bmatrix} 4 & 3 \\ 6 & 3 \end{bmatrix}

Ahora el sistema Ax=bA \vec{x} = \vec{b} puede resolverse en dos pasos:

  1. Resolver Ly=bL \vec{y} = \vec{b} mediante sustitución hacia adelante;
  2. Resolver Ux=yU \vec{x} = \vec{y} mediante sustitución hacia atrás.

Descomposición QR

Se busca expresar una matriz AA como el producto de dos matrices:

A=QRA = QR

Donde:

  • AA es la matriz de entrada (por ejemplo, datos, coeficientes, etc.);
  • QQ es una matriz ortogonal (sus columnas son vectores ortonormales);
  • RR es una matriz triangular superior.

Ejemplo de desglose de forma:

A=[a1a2a3a4]=[q1q2q3q4][r11r120r22]A = \begin{bmatrix} a_1 & a_2 \\ a_3 & a_4 \end{bmatrix} = \begin{bmatrix} q_1 & q_2 \\ q_3 & q_4 \end{bmatrix} \begin{bmatrix} r_{11} & r_{12} \\ 0 & r_{22} \end{bmatrix}

Esta descomposición se utiliza frecuentemente cuando:

  • La matriz A no es cuadrada;
  • Resolución de problemas de mínimos cuadrados;
  • La descomposición LU no es estable.

¿Qué son los vectores ortonormales?

Vectores ortogonales

Dos vectores u,vu, v son ortogonales si su producto punto es cero:

uv=0u \cdot v = 0

Vector normalizado

Un vector uu está normalizado cuando u=1|u| = 1.

Conjunto ortonormal

Un conjunto de vectores {q1,q2,...,qk}\{q_1, q_2, ..., q_k\} es ortonormal si cada uno tiene longitud unitaria y son mutuamente ortogonales:

qiqj={1, si  i=j,0, si  ij.q_i \cdot q_j = \begin{cases} 1,\ \text{si}\ \ i = j,\\ 0,\ \text{si}\ \ i \neq j. \end{cases}

Importancia: las columnas ortonormales en QQ preservan la geometría, simplifican las proyecciones y mejoran la estabilidad numérica.

Definir la matriz A

Comencemos con este ejemplo:

A=[4363]A = \begin{bmatrix} 4 & 3 \\ 6 & 3 \end{bmatrix}

Utilizaremos el proceso de Gram-Schmidt para encontrar las matrices QQ y RR tales que A=QRA=QR. El proceso de Gram-Schmidt crea un conjunto ortonormal de vectores a partir de las columnas de AA.

Esto significa que los vectores en QQ son todos perpendiculares (ortogonales) entre sí y tienen longitud unitaria (normalizados). Esta propiedad simplifica muchos cálculos y mejora la estabilidad numérica al resolver sistemas.

Por lo tanto, el objetivo aquí es:

  • Hacer que las columnas de QQ sean ortonormales;
  • Crear la matriz RR que codificará las proyecciones.

Calcular el primer vector base

Extraemos la primera columna de AA:

a1=[46]a_1 = \begin{bmatrix} 4 \\ 6 \end{bmatrix}

Para normalizar esto, calculamos la norma:

a1=42+62=16+36=52|a_1| = \sqrt{4^2 + 6^2} = \sqrt{16 + 36} = \sqrt{52}

Luego:

q1=152[46]=[452652]q_1 = \frac{1}{\sqrt{52}} \begin{bmatrix} 4 \\ 6 \end{bmatrix} = \begin{bmatrix} \frac{4}{\sqrt{52}} \\ \frac{6}{\sqrt{52}} \end{bmatrix}

Este es el primer vector ortonormal para QQ.

Cómo normalizar un vector

Dado un vector:

v=[v1v2vn]v = \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix}

Calculamos su norma:

v=v12+v22+...+vn2|v| = \sqrt{v_1^2 + v_2^2 + ... + v^2_n}

Luego normalizamos:

v^=1vv\hat{v} = \frac{1}{|v|}v

Ejemplo:

v=[34],  v=32+42=5v = \begin{bmatrix} 3 \\ 4 \end{bmatrix},\ \ |v| = \sqrt{3^2 + 4^2} = 5

Así, nuestro vector normalizado es:

v^=15[34]=[0.60.8]\hat{v} = \frac{1}{5}\begin{bmatrix} 3 \\ 4 \end{bmatrix} = \begin{bmatrix} 0.6 \\ 0.8 \end{bmatrix}

Una vez que sabemos cómo normalizar y ortogonalizar vectores, podemos aplicar el proceso de Gram-Schmidt para formar la matriz QQ y usarla para calcular RR en la descomposición QR.

Calcular q₂ usando Gram-Schmidt

Para calcular q2q_2, comenzamos con la segunda columna de AA:

a2=[33]a_2 = \begin{bmatrix} 3 \\ 3 \end{bmatrix}

A continuación, proyecta a2a_2 sobre q1q_1:

r12=q1Ta2=152(43+63)=15230r_{12} = q_1^Ta_2 = \frac{1}{\sqrt{52}}(4 \cdot 3 + 6 \cdot 3) = \frac{1}{\sqrt{52}} \cdot 30

Elimina la proyección de a2a_2:

u2=a2r12q1u_2 = a_2 - r_{12}q_1

Luego normaliza (como se mostró anteriormente):

q2=u2u2q_2 = \frac{u_2}{|u_2|}

Ahora tanto q1q_1 como q2q_2 forman la base ortonormal para QQ. Ahora puedes ensamblar el resultado final:

Q=[q1q2],  R=[r11r120r22]Q = \begin{bmatrix} q_1 & q_2 \end{bmatrix},\ \ R = \begin{bmatrix} r_{11} & r_{12} \\ 0 & r_{22} \end{bmatrix}

Estos satisfacen:

A=QRA = QR
question mark

¿Cuál es el primer paso en el proceso de Gram-Schmidt para la descomposición QR?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 8
some-alt