MATLAB Language
Matrices de descomposiciones
Buscar..
Sintaxis
- R = chol (A);
- [L, U] = lu (A);
- R = qr (A);
- T = schur (A);
- [U, S, V] = svd (A);
Descomposición de Cholesky
La descomposición de Cholesky es un método para descomponer una matriz definitiva, positiva y hermítica en una matriz triangular superior y su transposición. Puede usarse para resolver sistemas de ecuaciones lineales y es aproximadamente el doble de rápido que la descomposición de LU.
A = [4 12 -16
12 37 -43
-16 -43 98];
R = chol(A);
Esto devuelve la matriz triangular superior. El inferior se obtiene por transposición.
L = R';
Finalmente podemos comprobar si la descomposición fue correcta.
b = (A == L*R);
Descomposición QR
Este método descompondrá una matriz en una matriz triangular superior y ortogonal.
A = [4 12 -16
12 37 -43
-16 -43 98];
R = qr(A);
Esto devolverá la matriz triangular superior, mientras que lo siguiente devolverá ambas matrices.
[Q,R] = qr(A);
La siguiente gráfica mostrará el tiempo de ejecución de qr
dependiente de la raíz cuadrada de los elementos de la matriz.
Descomposición de LU
De este modo, una matriz se descompondrá en una matriz trangular superior y una matriz triangular inferior. A menudo se utilizará para aumentar el rendimiento y la estabilidad (si se hace con permutación) de la eliminación de Gauss.
Sin embargo, muy a menudo este método no funciona o funciona mal, ya que no es estable. Por ejemplo
A = [8 1 6
3 5 7
4 9 2];
[L,U] = lu(A);
Es suficiente agregar una matriz de permutación tal que PA = LU:
[L,U,P]=lu(A);
A continuación, trazaremos el tiempo de ejecución de `lu 'dependiente de la raíz cuadrada de los elementos de la matriz.
Descomposición de Schur
Si A es una matriz compleja y cuadrática, existe una Q unitaria tal que Q * AQ = T = D + N, siendo D la matriz diagonal que consta de los valores propios y N es estrictamente tridiagonal superior.
A = [3 6 1
23 13 1
0 3 4];
T = schur(A);
También mostramos el tiempo de ejecución de schur
dependiendo de la raíz cuadrada de los elementos de la matriz:
Valor singular de descomposición
Dada una m veces n matriz A con n mayor que m. La descomposición del valor singular.
[U,S,V] = svd(A);
calcula las matrices U, S, V.
La matriz U está formada por los vectores propios singulares izquierdos que son los vectores propios de A*A.'
mientras que V consiste en los valores propios e individuales singulares que son los vectores propios de A.'*A
La matriz S
tiene las raíces cuadradas de los valores propios de A*A.'
y A.'*A
en su diagonal.
Si m es mayor que n se puede usar
[U,S,V] = svd(A,'econ');
Para realizar una descomposición del valor singular de tamaño económico.