수색…


통사론

  1. R = 콜 (A);
  2. [L, U] = lu (A);
  3. R = qr (A);
  4. T = schur (A);
  5. [U, S, V] = svd (A);

콜레 스키 분해

콜레 스키 분해법은 헤르미 탄, 확실한 행렬을 상 삼각 행렬과 그 전치 행렬로 분해하는 방법입니다. 선형 방정식을 풀 때 사용할 수 있으며, LU 분해에 비해 약 2 배 빠릅니다.

A = [4 12 -16
    12 37 -43
    -16 -43 98];
R = chol(A);

위 삼각형 행렬을 반환합니다. 낮은 쪽은 전위에 의해 얻어진다.

L = R';

마지막으로 분해가 올바른지 확인할 수 있습니다.

b = (A == L*R);

QR 분해

이 방법은 행렬을 위쪽 삼각형과 직교 행렬로 분해합니다.

A = [4 12 -16
    12 37 -43
    -16 -43 98];
R = qr(A);

다음은 위의 두 행렬을 반환하는 반면 위쪽 삼각 행렬을 반환합니다.

[Q,R] = qr(A);

다음 플롯은 행렬 요소의 제곱근에 따라 qr 의 런타임을 표시합니다. qr-runtime

LU 분해

이로써 행렬은 상부의 삼각형 행렬과 하부의 삼각 행렬로 분해 될 것입니다. 종종 Gauß 제거의 성능과 안정성을 향상시키는 데 사용됩니다 (퍼뮤 테이션으로 끝난 경우).

그러나이 방법은 안정적이지 않으므로 작동하지 않거나 잘못 작동합니다. 예를 들어

A = [8 1 6
    3 5 7
    4 9 2];
[L,U] = lu(A);

PA = LU와 같은 순열 행렬을 추가하는 것으로 충분합니다.

[L,U,P]=lu(A);

다음은 우리가 행렬 요소의 제곱근에 종속적 인`lu '런타임을 플로팅 할 것입니다. 루 - 런타임

Schur 분해

A가 복소 2 차 행렬이면, Q * AQ = T = D + N과 같은 단일 Q가 존재하며, D는 고유 값으로 구성된 대각 행렬이고 N은 엄격하게 상위 3 중 대각선이다.

A = [3 6 1
    23 13 1
    0 3 4];
T = schur(A);

우리는 또한 행렬 요소의 제곱근에 의존하는 schur 의 런타임을 표시합니다 : schur-runtime

단일 값 분해

m보다 큰 n 행렬 A가 주어진다. 특이 값 분해

[U,S,V] = svd(A);

행렬 U, S, V를 계산합니다.

행렬 U는 A*A.' 의 고유 벡터 인 왼쪽 특이 고유 벡터로 구성된다 A*A.' V는 A.'*A 의 고유 벡터 인 올바른 특이 고유치로 구성됩니다 A.'*A 행렬 SA*A.' 의 고유 값의 제곱근을가 A*A.'A.'*A 대각선에 A.'*A

m이 n보다 큰 경우,

[U,S,V] = svd(A,'econ');

경제 규모의 특이 값 분해를 수행한다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow