무어 – 펜로즈 역 - Moore–Penrose inverse

에서는 수학 , 특히 선형 대수무어 - 펜로즈 역행렬 (A)의 매트릭스 역행렬 의 가장 널리 알려진 일반화 입니다 . [1] [2] [3] [4] 1920 년 EH Moore [5] , 1951 년 Arne Bjerhammar [6] , 1955 년 Roger Penrose [7]의해 독립적으로 기술되었습니다 . 이전에 Erik Ivar Fredholm1903 년 적분 연산자 의 의사 역의 개념 . 행렬을 언급 할 때 추가 사양없이 용어 의사 역은 종종 무어-펜로즈 역을 나타내는 데 사용됩니다. 일반화 된 역 이라는 용어 때때로 pseudoinverse의 동의어로 사용됩니다.

의사 역의 일반적인 사용은 가없는 선형 방정식 시스템에 대한 "최적 적합"( 최소 제곱 ) 해 를 계산 하는 것입니다 (아래의 § 응용 프로그램 참조 ). 또 다른 용도는 여러 해가있는 선형 연립 방정식에 대한 최소 ( 유클리드 ) 노름 솔루션 을 찾는 것입니다. pseudoinverse는 선형 대수에서 결과의 진술과 증명을 용이하게합니다.

의사 역은 항목이 실수 또는 복소수 인 모든 행렬에 대해 정의되고 고유 합니다. 특이 값 분해를 사용하여 계산할 수 있습니다 .

표기법

다음 논의에서는 다음 규칙이 채택됩니다.

  • 실수 또는 복소수 필드 중 하나를 나타냅니다., , 각각. 벡터 공간 행렬 이상 로 표시됩니다 .
  • 에 대한 , 전치 및 에르 미트 전치 ( 공액 전치 라고도 함 )를 각각 나타냅니다. 만약, 다음 .
  • 에 대한 , 열 공간 (이미지)을 나타냅니다. (열 벡터가 차지하는 공간 ) 및 커널 (null 공간)을 나타냅니다..
  • 마지막으로 양의 정수 , 나타냅니다 단위 행렬 .

정의

에 대한 , 의사 역 행렬로 정의됩니다. Moore–Penrose 조건으로 알려진 다음 네 가지 기준을 모두 충족합니다. [7] [8]

( 일반 단위 행렬 일 필요는 없지만 다음의 모든 열 벡터를 매핑합니다. 그들 자신에게);
(약한 역 처럼 작동합니다 .
(에르 미트 );
( 또한 Hermitian입니다).

모든 행렬에 대해 존재 하지만 후자가 전체 순위 (즉, 이다 ) 다음 간단한 대수 공식으로 표현할 수 있습니다.

특히 언제 선형으로 독립된 열 (따라서 행렬 반전 가능), 다음과 같이 계산할 수 있습니다.

이 특정 의사 왼쪽 역을 구성합니다 ..

언제 선형으로 독립된 행 (행렬 반전 가능), 다음과 같이 계산할 수 있습니다.

이것은 오른쪽 역입니다 ..

속성

존재와 독창성

의사 역이 존재하고 고유합니다. 모든 행렬에 대해 , 정확히 하나의 행렬이 있습니다. , 정의의 4 가지 속성을 충족합니다. [8]

정의의 첫 번째 조건을 충족하는 행렬을 일반화 역이라고합니다. 행렬이 두 번째 정의도 충족하면 일반화 반사 이라고합니다 . 일반화 된 역은 항상 존재하지만 일반적으로 고유하지는 않습니다. 고유성은 마지막 두 조건의 결과입니다.

기본 속성

  • 만약 실제 항목이 있습니다. .
  • 만약 가역 의 의사 역행렬이 역이다. 그건,. [9] : 243
  • 제로 행렬 의 의사 역행렬은 전치입니다.
  • pseudoinverse의 pseudoinverse는 원래 행렬입니다. . [9] : 245
  • 전치, 켤레 및 켤레 전치 취하기를 사용하는 의사 반전 정류 : [9] : 245
    , , .
  • 스칼라 배수의 의사 역 의 역 배수입니다. :
    ...에 대한 .

정체성

다음 ID를 사용하여 특정 하위 표현식을 취소하거나 의사 역행을 포함하는 표현식을 확장 할 수 있습니다. 이러한 속성에 대한 증명증명 서브 페이지 에서 찾을 수 있습니다 .

Hermitian 사례로 축소

의사 역의 계산은 Hermitian 케이스의 구성으로 축소 될 수 있습니다. 이것은 동등성을 통해 가능합니다.

같이 Hermitian입니다.

제품

만약 , 그리고

  1. 직교 열 (즉, ) 또는
  2. 직교 행 (즉, ) 또는
  3. 모든 열이 선형 적으로 독립적이며 (전체 열 순위) 선형 독립적 인 모든 행 (전체 행 순위)가, 또는
  4. (그건, 켤레 전치입니다 ),

그때

마지막 속성은 평등을 산출합니다.

NB : 평등 일반적으로 보유하지 않습니다. 반례를 참조하십시오.

프로젝터

있습니다 정사영 사업자 즉, 그들은 에르 미트 (이다, ) 및 멱등 (). 다음 보류 :

  • 는 IS 직교 프로젝터범위 의은(이것은 커널의 직교 보완같습니다.).
  • 범위에 직교 프로젝터입니다 (이것은 커널의 직교 보완과 같습니다. ).
  • 커널에 직교 프로젝터입니다. .
  • 커널에 직교 프로젝터입니다. . [8]

마지막 두 속성은 다음과 같은 ID를 의미합니다.

또 다른 속성은 다음과 같습니다. 에르 미트 식이고 멱등 적 (직교 투영을 나타내는 경우에만 true)이면 모든 행렬에 대해 다음 방정식이 성립합니다. [10]

이것은 행렬을 정의하여 증명할 수 있습니다. , , 확인 실제로 의사 역 확인하여 의사 - 홀드를 정의하는 속성 때 Hermitian이고 멱 등성입니다.

마지막 속성에서 다음과 같은 경우 모든 행렬에 대해 Hermitian 및 멱 등성입니다.

마지막으로 직교 투영 행렬이고, 의사 역행렬은 행렬 자체와 사소하게 일치합니다. 즉, .

기하학적 구조

행렬을 선형지도로 보면 들판 위에 그때 다음과 같이 분해 할 수 있습니다. 우리는 쓴다대한 직접적인 합 ,에 대한 직교 보완 ,커널 에 대해에 대한 이미지 맵의. 그것을주의해라. 제한그런 다음 동형입니다. 이것은 의 위에 이 동형의 반대이고

즉, 찾기 위해 주어진 , 첫 번째 프로젝트 범위에 직각으로 , 포인트 찾기 범위 안에서. 그런 다음 형성즉, 해당 벡터를 보낸다 . 이것은 다음의 아핀 부분 공간이 될 것입니다. 커널과 병렬 . 길이가 가장 작은 (즉, 원점에 가장 가까운) 부분 공간의 요소가 답입니다.우리는 ~을 찾고있다. 임의의 멤버를 취하여 찾을 수 있습니다. 커널의 직교 보완 물에 직각으로 투영합니다. .

이 설명은 선형 시스템 에 대한 최소 표준 솔루션 과 밀접한 관련이 있습니다 .

부분 공간

관계 제한

pseudoinverse는 제한입니다.

( Tikhonov 정규화 참조 ). 이러한 제한은 다음과 같은 경우에도 존재합니다. 또는 존재하지 않음. [8] : 263

연속성

일반적인 행렬 반전과는 달리 의사 역을 취하는 과정은 연속적 이지 않습니다 . 행렬로 수렴 ( 최대 표준 또는 Frobenius 표준 에서), 수렴 할 필요가 없다 . 그러나 모든 행렬이 같은 계급을 가지고 수렴합니다 . [11]

유도체

한 지점에서 일정한 순위를 갖는 실수 값 의사 역행렬의 미분 원래 행렬의 미분으로 계산할 수 있습니다. [12]

역행렬의 경우 의사 역은 일반적인 역과 같으므로 아래에서는 비가역 행렬의 예만 고려합니다.

  • 에 대한 의사 역은 (일반적으로 제로 행렬의 의사 역은 전치입니다.)이 의사 역의 고유성은 요구 사항에서 볼 수 있습니다. , 0 행렬을 곱하면 항상 0 행렬이 생성되기 때문입니다.
  • 에 대한 의사 역은
    과연, 따라서
    비슷하게, 따라서
  • 에 대한
  • 에 대한 (분모는 .)
  • 에 대한
  • 에 대한 의사 역은
    이 행렬의 경우 왼쪽 역 이 존재하므로 다음과 같습니다., 참으로

특수한 상황들

스칼라

스칼라와 벡터에 대해 의사 역행렬을 정의 할 수도 있습니다. 이것은 이것을 행렬로 취급하는 것과 같습니다. 스칼라의 의사 역 0이면 0이고 역수입니다. 그렇지 않으면:

벡터

null (모두 0) 벡터의 의사 역은 전치 된 null 벡터입니다. null이 아닌 벡터의 의사 역은 켤레 전치 벡터를 제곱 크기로 나눈 값입니다.

선형 독립 열

경우] 컬럼아르 선형 독립적 (그래서) 다음 뒤집을 수 있습니다. 이 경우 명시적인 공식은 다음과 같습니다. [13]

.

그것은 다음과 같습니다 다음의 왼쪽 역 : .

선형 독립 행

경우 선형 적으로 독립적입니다 (따라서 ) 다음 뒤집을 수 있습니다. 이 경우 명시 적 공식은 다음과 같습니다.

.

그것은 다음과 같습니다 의 정반대 : .

직교 열 또는 행

이는 전체 열 순위 또는 전체 행 순위 (위에서 처리됨)의 특수한 경우입니다. 만약 직교 열 () 또는 직교 행 (), 다음 :

.

직교 투영 행렬

만약 직교 투영 행렬입니다. 이면 의사 역행렬은 행렬 자체와 사소하게 일치합니다.

.

순환 매트릭스

A의 순환 행렬 에서 특이 값 분해는 푸리에 변환에 의해 주어집니다 . 즉, 특이 값은 푸리에 계수입니다. 허락하다이산 푸리에 변환 (DFT) 행렬을 , 다음 [14]

구성

순위 분해

허락하다 나타내는 계급 의를. 그때다음 과 같이 (순위) 분해 될 수 있습니다. 어디 순위가 높다 . 그때.

QR 방식

에 대한 제품 계산 또는 그리고 그들의 역은 종종 수치 반올림 오류와 실제로 계산 비용의 원인이됩니다. QR 분해사용하는 대체 접근법 대신 사용할 수 있습니다.

경우를 고려하십시오 전체 열 순위이므로 . 그런 다음 Cholesky 분해 , 어디 상부 삼각 행렬 이며 사용할 수 있습니다. 역의 곱셈은 우변이 여러 개인 시스템을 풀면 쉽게 수행됩니다.

순방향 치환에 이어 역 치환 으로 해결할 수 있습니다 .

Cholesky 분해는 다음을 형성하지 않고 계산 될 수 있습니다. 명시 적으로 QR 분해사용하여, 어디 직교 열이 있습니다. , 및 is upper triangular. Then

,

so is the Cholesky factor of .

The case of full row rank is treated similarly by using the formula and using a similar argument, swapping the roles of and .

Singular value decomposition (SVD)

A computationally simple and accurate way to compute the pseudoinverse is by using the singular value decomposition.[13][8][15] If is the singular value decomposition of , then . For a rectangular diagonal matrix such as , 우리는 대각선에서 0이 아닌 각 요소의 역수를 취하고 0을 그대로 둔 다음 행렬을 전치하여 의사 역을 얻습니다. 수치 계산에서 일부 작은 공차보다 큰 요소 만 0이 아닌 것으로 간주되고 다른 요소는 0으로 대체됩니다. 예를 들어, MATLAB , GNU Octave 또는 NumPy 함수 pinv 에서 허용 오차는 t = ε⋅max ( m , n ) ⋅max (Σ) 이며, 여기서 ε은 기계 엡실론 입니다.

The computational cost of this method is dominated by the cost of computing the SVD, which is several times higher than matrix–matrix multiplication, even if a state-of-the art implementation (such as that of LAPACK) is used.

The above procedure shows why taking the pseudoinverse is not a continuous operation: if the original matrix has a singular value 0 (a diagonal entry of the matrix above), then modifying slightly may turn this zero into a tiny positive number, thereby affecting the pseudoinverse dramatically as we now have to take the reciprocal of a tiny number.

Block matrices

Optimized approaches exist for calculating the pseudoinverse of block structured matrices.

The iterative method of Ben-Israel and Cohen

Another method for computing the pseudoinverse (cf. Drazin inverse) uses the recursion

which is sometimes referred to as hyper-power sequence. This recursion produces a sequence converging quadratically to the pseudoinverse of if it is started with an appropriate satisfying . The choice (where , with denoting the largest singular value of ) [16] has been argued not to be competitive to the method using the SVD mentioned above, because even for moderately ill-conditioned matrices it takes a long time before enters the region of quadratic convergence.[17] However, if started with already close to the Moore–Penrose inverse and , for example , convergence is fast (quadratic).

Updating the pseudoinverse

For the cases where 전체 행 또는 열 순위와 상관 행렬 ( ...에 대한 전체 행 순위 또는 전체 열 순위의 경우)는 이미 알려져 있습니다. Sherman–Morrison–Woodbury 공식적용하여 더 적은 작업이 필요할 수있는 상관 행렬의 역을 업데이트하여 계산할 수 있습니다 . 특히, 관련 행렬이 변경, 추가 또는 삭제 된 행이나 열만으로 원본과 다른 경우 관계를 활용하는 증분 알고리즘이 존재합니다. [18] [19]

마찬가지로, 상관 행렬의 역을 명시 적으로 생성하지 않고 행이나 열이 추가 될 때 촐레 스키 인자를 업데이트 할 수 있습니다. 그러나 일반적인 순위가 부족한 경우 의사 역을 업데이트하는 것은 훨씬 더 복잡합니다. [20] [21]

Software libraries

High-quality implementations of SVD, QR, and back substitution are available in standard libraries, such as LAPACK. Writing one's own implementation of SVD is a major programming project that requires a significant numerical expertise. In special circumstances, such as parallel computing or embedded computing, however, alternative implementations by QR or even the use of an explicit inverse might be preferable, and custom implementations may be unavoidable.

The Python package NumPy provides a pseudoinverse calculation through its functions matrix.I and linalg.pinv; its pinv uses the SVD-based algorithm. SciPy adds a function scipy.linalg.pinv that uses a least-squares solver.

The MASS package for R provides a calculation of the Moore–Penrose inverse through the ginv function.[22] The ginv function calculates a pseudoinverse using the singular value decomposition provided by the svd function in the base R package. An alternative is to employ the pinv function available in the pracma package.

The Octave programming language provides a pseudoinverse through the standard package function pinv and the pseudo_inverse() method.

In Julia (programming language), the LinearAlgebra package of the standard library provides an implementation of the Moore-Penrose inverse pinv() implemented via singular-value decomposition.[23]

Applications

Linear least-squares

The pseudoinverse provides a least squares solution to a system of linear equations.[24] For , given a system of linear equations

in general, a vector that solves the system may not exist, or if one does exist, it may not be unique. The pseudoinverse solves the "least-squares" problem as follows:

  • , we have where and denotes the Euclidean norm. This weak inequality holds with equality if and only if for any vector ; this provides an infinitude of minimizing solutions unless has full column rank, in which case is a zero matrix.[25] The solution with minimum Euclidean norm is [25]

This result is easily extended to systems with multiple right-hand sides, when the Euclidean norm is replaced by the Frobenius norm. Let .

  • , we have where and denotes the Frobenius norm.

Obtaining all solutions of a linear system

If the linear system

has any solutions, they are all given by[26]

for arbitrary vector . Solution(s) exist if and only if .[26] If the latter holds, then the solution is unique if and only if has full column rank, in which case is a zero matrix. If solutions exist but does not have full column rank, then we have an indeterminate system, all of whose infinitude of solutions are given by this last equation.

Minimum norm solution to a linear system

For linear systems with non-unique solutions (such as under-determined systems), the pseudoinverse may be used to construct the solution of minimum Euclidean norm among all solutions.

  • If is satisfiable, the vector is a solution, and satisfies for all solutions.

This result is easily extended to systems with multiple right-hand sides, when the Euclidean norm is replaced by the Frobenius norm. Let .

  • If is satisfiable, the matrix is a solution, and satisfies for all solutions.

Condition number

의사 역 및 행렬 norm을 사용하여 모든 행렬에 대한 조건 번호정의 할 수 있습니다 .

조건 수가 크다는 것은 해당 선형 방정식 시스템에 대한 최소 제곱 솔루션을 찾는 문제가 다음 항목의 작은 오류라는 의미에서 조건이 좋지 않음을 의미합니다. 솔루션 항목에 큰 오류가 발생할 수 있습니다. [27]

일반화

실수 및 복소수에 대한 행렬 외에 조건 은 "복소 쿼터니언"이라고도 하는 쿼터니언에 대한 행렬에 대해 유지됩니다 . [28]

보다 일반적인 최소 제곱 문제를 해결하기 위해 모든 연속 선형 연산자에 대해 Moore-Penrose 역을 정의 할 수 있습니다. 힐베르트 공간 사이 , using the same four conditions as in our definition above. It turns out that not every continuous linear operator has a continuous linear pseudoinverse in this sense.[27] Those that do are precisely the ones whose range is closed in .

A notion of pseudoinverse exists for matrices over an arbitrary field equipped with an arbitrary involutive automorphism. In this more general setting, a given matrix doesn't always have a pseudoinverse. The necessary and sufficient condition for a pseudoinverse to exist is that where denotes the result of applying the involution operation to the transpose of . When it does exist, it is unique.[29] Example: Consider the field of complex numbers equipped with the identity involution (as opposed to the involution considered elsewhere in the article); do there exist matrices that fail to have pseudoinverses in this sense? Consider the matrix . Observe that while . So this matrix doesn't have a pseudoinverse in this sense.

In abstract algebra, a Moore–Penrose inverse may be defined on a *-regular semigroup. This abstract definition coincides with the one in linear algebra.

See also

Notes

  1. ^ Ben-Israel & Greville 2003, p. 7.
  2. ^ Campbell & Meyer, Jr. 1991, p. 10.
  3. ^ Nakamura 1991, p. 42.
  4. ^ Rao & Mitra 1971, p. 50–51.
  5. ^ Moore, E. H. (1920). "On the reciprocal of the general algebraic matrix". Bulletin of the American Mathematical Society. 26 (9): 394–95. doi:10.1090/S0002-9904-1920-03322-7.
  6. ^ Bjerhammar, Arne (1951). "Application of calculus of matrices to method of least squares; with special references to geodetic calculations". Trans. Roy. Inst. Tech. Stockholm. 49.
  7. ^ a b Penrose, Roger (1955). "A generalized inverse for matrices". Proceedings of the Cambridge Philosophical Society. 51 (3): 406–13. Bibcode:1955PCPS...51..406P. doi:10.1017/S0305004100030401.
  8. ^ a b c d e Golub, Gene H.; Charles F. Van Loan (1996). Matrix computations (3rd ed.). Baltimore: Johns Hopkins. pp. 257–258. ISBN 978-0-8018-5414-9.
  9. ^ a b c Stoer, Josef; Bulirsch, Roland (2002). Introduction to Numerical Analysis (3rd ed.). Berlin, New York: Springer-Verlag. ISBN 978-0-387-95452-3..
  10. ^ Maciejewski, Anthony A.; Klein, Charles A. (1985). "Obstacle Avoidance for Kinematically Redundant Manipulators in Dynamically Varying Environments". International Journal of Robotics Research. 4 (3): 109–117. doi:10.1177/027836498500400308. hdl:10217/536. S2CID 17660144.
  11. ^ Rakočević, Vladimir (1997). "On continuity of the Moore–Penrose and Drazin inverses" (PDF). Matematički Vesnik. 49: 163–72.
  12. ^ Golub, G. H.; Pereyra, V. (April 1973). "The Differentiation of Pseudo-Inverses and Nonlinear Least Squares Problems Whose Variables Separate". SIAM Journal on Numerical Analysis. 10 (2): 413–32. Bibcode:1973SJNA...10..413G. doi:10.1137/0710036. JSTOR 2156365.
  13. ^ a b Ben-Israel & Greville 2003.
  14. ^ Stallings, W. T.; Boullion, T. L. (1972). "The Pseudoinverse of an r-Circulant Matrix". Proceedings of the American Mathematical Society. 34 (2): 385–88. doi:10.2307/2038377. JSTOR 2038377.
  15. ^ Linear Systems & Pseudo-Inverse
  16. ^ Ben-Israel, Adi; Cohen, Dan (1966). "On Iterative Computation of Generalized Inverses and Associated Projections". SIAM Journal on Numerical Analysis. 3 (3): 410–19. Bibcode:1966SJNA....3..410B. doi:10.1137/0703035. JSTOR 2949637. pdf
  17. ^ Söderström, Torsten; Stewart, G. W. (1974). "On the Numerical Properties of an Iterative Method for Computing the Moore–Penrose Generalized Inverse". SIAM Journal on Numerical Analysis. 11 (1): 61–74. Bibcode:1974SJNA...11...61S. doi:10.1137/0711008. JSTOR 2156431.
  18. ^ Gramß, Tino (1992). Worterkennung mit einem künstlichen neuronalen Netzwerk (PhD dissertation). Georg-August-Universität zu Göttingen. OCLC 841706164.
  19. ^ Emtiyaz, Mohammad (February 27, 2008). "Updating Inverse of a Matrix When a Column is Added/Removed" (PDF). Cite journal requires |journal= (help)
  20. ^ Meyer, Jr., Carl D. (1973). "Generalized inverses and ranks of block matrices". SIAM J. Appl. Math. 25 (4): 597–602. doi:10.1137/0125057.
  21. ^ Meyer, Jr., Carl D. (1973). "Generalized inversion of modified matrices". SIAM J. Appl. Math. 24 (3): 315–23. doi:10.1137/0124033.
  22. ^ "R: Generalized Inverse of a Matrix".
  23. ^ "LinearAlgebra.pinv".
  24. ^ Penrose, Roger (1956). "On best approximate solution of linear matrix equations". Proceedings of the Cambridge Philosophical Society. 52 (1): 17–19. Bibcode:1956PCPS...52...17P. doi:10.1017/S0305004100030929.
  25. ^ a b Planitz, M. (October 1979). "Inconsistent systems of linear equations". Mathematical Gazette. 63 (425): 181–85. doi:10.2307/3617890. JSTOR 3617890.
  26. ^ a b James, M. (June 1978). "The generalised inverse". Mathematical Gazette. 62 (420): 109–14. doi:10.1017/S0025557200086460.
  27. ^ a b Hagen, Roland; Roch, Steffen; Silbermann, Bernd (2001). "Section 2.1.2". C*-algebras and Numerical Analysis. CRC Press.
  28. ^ Tian, Yongge (2000). "Matrix Theory over the Complex Quaternion Algebra". p.8, Theorem 3.5. arXiv:math/0004005.
  29. ^ Pearl, Martin H. (1968-10-01). "Generalized inverses of matrices with entries taken from an arbitrary field". Linear Algebra and its Applications. 1 (4): 571–587. doi:10.1016/0024-3795(68)90028-1. ISSN 0024-3795.

References

External links