Buscar..


Sintaxis

  1. R = chol (A);
  2. [L, U] = lu (A);
  3. R = qr (A);
  4. T = schur (A);
  5. [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. qr-runtime

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. lu-runtime

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: schur-runtime

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.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow