이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
decomposition
선형 시스템을 풀기 위한 행렬 분해
설명
decomposition은 재사용 가능한 행렬 분해(LU, LDL, 촐레스키, QR 등)를 만드는데, 이것을 사용하면 선형 시스템(Ax = b 또는 xA = b)을 더 효율적으로 풀 수 있습니다. 예를 들어, dA = decomposition(A)를 계산하면 호출 dA\b가 A\b와 동일한 벡터를 반환하는데 일반적으로 훨씬 더 빠릅니다. decomposition 객체를 사용하면 계수 행렬 분해를 여러 번 수행할 필요가 없으므로, 반복적으로 해를 구해야 하는 문제를 풀 때 적합합니다.
원래 계수 행렬 A에 사용할 수 있는 많은 연산자를 decomposition 객체 dA에도 사용할 수 있습니다.
켤레 복소수 전치(Complex Conjugate Transpose)
dA'부정
-dAc*dA나dA/c처럼 스칼라로 곱하거나 나누기.x = dA\b를 사용하여 선형 시스템 Ax = b 풀기.x = b/dA를 사용하여 선형 시스템 xA = b 풀기.
생성
구문
설명
는 선형 시스템을 더 효율적으로 푸는 데 사용할 수 있도록 행렬 dA = decomposition(A)A의 분해를 반환합니다. 분해 유형은 입력 행렬의 속성에 기반하여 자동으로 선택됩니다.
는 dA = decomposition(A,type,triangularFlag)A의 상부 또는 하부 삼각 부분만 분해에 사용됨을 지정합니다. triangularFlag는 'upper' 또는 'lower'일 수 있습니다. 이 구문에서 분해 유형은 'ldl', 'chol' 또는 'triangular'이어야 합니다.
는 위에 열거된 구문에 dA = decomposition(___,Name,Value)Name,Value 쌍 인수를 하나 이상 추가 옵션으로 지정합니다. 예를 들어, dA = decomposition(A,'CheckCondition',false)는 dA\b를 푸는 동안 A의 조건을 기준으로 경고를 발생하지 않도록 지정합니다.
입력 인수
이름-값 인수
속성
객체 함수
decomposition 객체에 사용할 수 있는 주 함수와 연산자는 선형 연립방정식 풀이와 관계가 있습니다. 분해 유형이 'qr'이면 A'\B 또는 B/A를 풀 수 없습니다. 대신 이러한 형식으로 구성된 문제에는 'cod'를 사용하십시오.
ctranspose | 켤레 복소수 전치(Complex Conjugate Transpose) |
mldivide | x에 대한 선형 연립방정식 Ax = B의 해 구하기 |
mrdivide | x에 대한 선형 연립방정식 xA = B의 해 구하기 |
isIllConditioned | 행렬의 조건이 나쁜지 여부 판별 |
또한 decomposition 객체로 구성된 기본 행렬의 조건수 또는 랭크를 확인할 수 있습니다. 다른 알고리즘이 사용되므로, decomposition 객체에 아래와 같은 함수를 사용하여 얻는 결과가 계수 행렬에 직접 그 함수를 사용하여 얻는 결과와 다를 수 있습니다.
예제
참고 문헌
[1] Davis, Timothy A. “Algorithm 930: FACTORIZE: An Object-Oriented Linear System Solver for MATLAB.” ACM Transactions on Mathematical Software 39, no. 4 (July 2013): 1–18. https://doi.org/10.1145/2491491.2491498.
확장 기능
버전 내역
R2017b에 개발됨