무어-펜로즈 유사역행렬

오류 제보
수치해석 시뮬레이션 마지막 수정: 2026-10-15 04:26:30

○ 공개 검수 대기 AI 보조 작성 표시 기준 보기

1. 개요

무어-펜로즈 유사역행렬
Moore–Penrose pseudoinverse
기호A+ (m×n 행렬 A 에 대해 n×m)
정의펜로즈의 네 조건을 만족하는 유일한 행렬
계산A+ = VΣ+UT (특이값 분해)
의미최소자승 해 가운데 노름이 가장 작은 해
역사무어(1920), 비에르하마르(1951), 펜로즈(1955)
함정랭크가 바뀌는 곳에서 불연속

무어-펜로즈 유사역행렬(Moore–Penrose pseudoinverse) A+A^+ 는 정사각이 아니거나 특이한 행렬 AA 에 대해, 아래 네 조건을 동시에 만족하는 유일한 행렬이다. 역행렬이 있으면 그 역행렬과 같고, 없으면 「역행렬이 할 수 있는 일 가운데 최대한」을 한다.

특이값 분해 문서가 A+=VΣ+UTA^+ = V\Sigma^+U^{\mathsf T} 공식과 네 조건의 수치 검산을 이미 담았고, 최소자승법이 그것으로 최소노름 해를 얻는 법을 적었다. 여기서는 그 공식이 왜 그것 하나뿐인지(유일성), 무엇을 최소화하는지(두 단계 최적성), 그리고 어디서 깨지는지(불연속과 곱의 법칙 실패)를 판다. 실무에서 유사역행렬 사고는 대부분 마지막 부분에서 난다.

2. 네 조건 — 공리로 정의하기

펜로즈(1955)는 X=A+X = A^+ 를 다음 네 등식으로 정의했다.

(1) AXA=A,(2) XAX=X,(3) (AX)T=AX,(4) (XA)T=XA\text{(1)}\ AXA = A, \quad \text{(2)}\ XAX = X, \quad \text{(3)}\ (AX)^{\mathsf T} = AX, \quad \text{(4)}\ (XA)^{\mathsf T} = XA

(복소 행렬이면 전치 대신 켤레전치.) 각 조건의 뜻은 이렇다.

  • (1)은 XX 가 AA 의 일반화 역(generalized inverse)이라는 것. 이것 하나만 만족하는 행렬은 무수히 많다.
  • (2)는 XX 가 쓸데없이 크지 않다는 것(반사적, reflexive).
  • (3)·(4)는 AXAX 와 XAXA 가 직교 사영이라는 것. 이게 「가장 짧은 해」를 고르는 조건이다.

조건을 일부만 요구하면 다른 역이 나온다. (1)만이면 {1}-역, (1)(3)이면 최소자승 역, (1)(4)면 최소노름 역 — 네 개를 다 요구할 때만 하나로 정해진다.

2.1. 유일성 증명

XX, YY 가 둘 다 네 조건을 만족한다고 하자. 조건만 차례로 써서

X=XAX=X(AX)T=XXTAT=XXT(AYA)T=X(AX)T(AY)T=XAXAY=XAYX = XAX = X(AX)^{\mathsf T} = XX^{\mathsf T}A^{\mathsf T} = XX^{\mathsf T}(AYA)^{\mathsf T} = X(AX)^{\mathsf T}(AY)^{\mathsf T} = XAXAY = XAY

이고, 대칭적으로

Y=YAY=(YA)TY=ATYTY=(AXA)TYTY=(XA)T(YA)TY=XAYAY=XAY.Y = YAY = (YA)^{\mathsf T}Y = A^{\mathsf T}Y^{\mathsf T}Y = (AXA)^{\mathsf T}Y^{\mathsf T}Y = (XA)^{\mathsf T}(YA)^{\mathsf T}Y = XAYAY = XAY.

따라서 X=YX = Y. 존재는 SVD가 보인다 — VΣ+UTV\Sigma^+U^{\mathsf T} 를 넣으면 네 조건이 그냥 성립한다. 존재는 SVD로, 유일성은 대수 몇 줄로 끝나는 깔끔한 구조다1.

3. 무엇을 최소화하나 — 두 단계 최적성

Ax=bA\mathbf x = \mathbf b 가 해가 없거나(과결정) 너무 많을 때(부족결정), x+=A+b\mathbf x^+ = A^+\mathbf b 는 다음 두 단계 문제의 답이다.

  1. 먼저 잔차 ∥Ax−b∥2\|A\mathbf x - \mathbf b\|_2 를 최소화하는 x\mathbf x 들의 집합을 구한다(이건 아핀 부분공간 — 특정 해 + 영공간).
  2. 그 가운데 ∥x∥2\|\mathbf x\|_2 가 가장 작은 하나를 고른다.

조건 (3)이 1단계를, (4)가 2단계를 맡는다. AA+AA^+ 는 AA 의 열공간으로의 직교 사영이라 b\mathbf b 를 열공간에 가장 가까운 점으로 보내고, A+AA^+A 는 행공간으로의 직교 사영이라 해에서 영공간 성분을 지운다.

검산. 랭크 3인 5×45\times4 무작위 행렬에서 x+=A+b\mathbf x^+ = A^+\mathbf b 와, 거기에 영공간 벡터 z\mathbf z 를 더한 x++0.3z\mathbf x^+ + 0.3\mathbf z 를 비교했다. 잔차는 둘 다 1.2494로 소수 15자리까지 같고, 노름은 1.0213 대 1.0645 로 x+\mathbf x^+ 가 작다. 영공간 방향으로는 아무리 움직여도 잔차가 그대로라 「가장 짧은 것」이라는 두 번째 기준이 있어야 답이 하나로 정해진다. 네 조건의 잔차는 10−1510^{-15} 수준이었다.

랭크가 꽉 찬 특수한 경우에는 닫힌 공식이 있다.

A+=(ATA)−1AT  (열 랭크 완전),A+=AT(AAT)−1  (행 랭크 완전)A^+ = (A^{\mathsf T}A)^{-1}A^{\mathsf T}\ \ (\text{열 랭크 완전}), \qquad A^+ = A^{\mathsf T}(AA^{\mathsf T})^{-1}\ \ (\text{행 랭크 완전})

앞의 것이 바로 정규방정식이다. 그러나 ATAA^{\mathsf T}A 는 조건수를 제곱하므로, 계산은 이 공식이 아니라 QR 분해나 SVD로 한다.

4. 티호노프 극한 — 정칙화와의 관계

랭크와 상관없이 성립하는 극한 표현이 있다.

A+=lim⁡δ→0+(ATA+δI)−1ATA^+ = \lim_{\delta \to 0^+} (A^{\mathsf T}A + \delta I)^{-1}A^{\mathsf T}

괄호 안이 티호노프 정규화(=능형회귀)의 해 연산자다. SVD 좌표로 쓰면 각 특이값에 필터 인자 σi/(σi2+δ)\sigma_i/(\sigma_i^2 + \delta) 가 곱해지는데, δ→0\delta \to 0 이면 σi>0\sigma_i > 0 인 것은 1/σi1/\sigma_i 로, σi=0\sigma_i = 0 인 것은 0으로 간다. 즉 유사역행렬은 정칙화 강도를 0으로 보낸 끝점이고, 그 끝점에서 작은 특이값 σi\sigma_i 에 1/σi1/\sigma_i 가 그대로 곱해진다. 이게 다음 절의 문제다.

5. 어디서 깨지나 ① — 불연속

역행렬은 가역 행렬 근처에서 연속이다. 유사역행렬은 랭크가 바뀌는 곳에서 불연속이다. 가장 단순한 예:

Ad=(100d),Ad+=(1001/d) (d≠0),A0+=(1000)A_d = \begin{pmatrix}1 & 0\\ 0 & d\end{pmatrix}, \qquad A_d^+ = \begin{pmatrix}1 & 0\\ 0 & 1/d\end{pmatrix}\ (d \neq 0), \qquad A_0^+ = \begin{pmatrix}1 & 0\\ 0 & 0\end{pmatrix}

실제로 (Ad+)22(A_d^+)_{22} 는 d=0.1d = 0.1 에서 10, d=10−8d = 10^{-8} 에서 10810^8, d=0d = 0 에서 0 이다. d→0d \to 0 으로 갈수록 폭발하다가 정확히 0에서 갑자기 사라진다. 그래서 부동소수점에서 「dd 가 진짜 0인가, 반올림 잡음인가」를 판정하는 절단 임계값이 결과 전체를 정한다. 특이값 분해 문서의 검산이 5.26×10−185.26\times10^{-18} 을 역수 취하면 답이 쓰레기가 된다고 적은 그 이야기다.

라이브러리는 이 임계값을 기본값으로 숨겨 둔다. MATLAB pinv 는 max(size(A))*eps(norm(A)) 를 쓰고, 다른 라이브러리는 다른 규칙을 쓴다. 측정 잡음이 있는 문제라면 기계 정밀도 기준 임계값은 너무 작다 — 잡음 수준에 맞춰 직접 자르는 것이 절단 특이값 분해이고, 그게 정석이다.

로봇공학의 실제 사고. 여유 자유도 매니퓰레이터의 역기구학은 관절 속도를 q˙=J+x˙\dot{\mathbf q} = J^+\dot{\mathbf x} 로 구한다. 팔이 특이 자세(쭉 펴짐 등)에 다가가면 JJ 의 최소 특이값이 0으로 가고 J+J^+ 의 해당 성분이 폭발해 관절 속도가 튄다. 표준 처방은 감쇠 최소자승(damped least squares) — 위의 티호노프 형태를 δ>0\delta > 0 으로 멈춰 쓰는 것이다. 유사역행렬의 극한을 일부러 다 가지 않는 셈이다2.

6. 어디서 깨지나 ② — 곱의 법칙

역행렬은 (AB)−1=B−1A−1(AB)^{-1} = B^{-1}A^{-1} 이지만 유사역행렬은 일반적으로 아니다.

A=(10),B=(11):(AB)+=1,B+A+=12A = \begin{pmatrix}1 & 0\end{pmatrix}, \quad B = \begin{pmatrix}1\\ 1\end{pmatrix}: \qquad (AB)^+ = 1, \qquad B^+A^+ = \tfrac12

AB=1AB = 1 이라 그 유사역은 1인데, B+=(12 12)B^+ = (\tfrac12\ \tfrac12), A+=(1 0)TA^+ = (1\ 0)^{\mathsf T} 이라 곱이 12\tfrac12 다. 등식은 AA 가 열 랭크 완전이고 BB 가 행 랭크 완전일 때처럼 특정 조건에서만 성립한다. 블록 연산·연쇄 변환에서 유사역을 「역행렬처럼」 뒤집어 붙이면 조용히 틀린다. 반면 (A+)+=A(A^+)^+ = A, (AT)+=(A+)T(A^{\mathsf T})^+ = (A^+)^{\mathsf T}, (αA)+=α−1A+(\alpha A)^+ = \alpha^{-1}A^+ (α≠0\alpha\neq0) 는 늘 성립한다.

7. 계산법과 역사

  • SVD — 표준. 비용 O(mnmin⁡(m,n))O(mn\min(m,n)). 임계값 선택이 명시적이라 가장 안전하다.
  • 열 피벗 QR — 수치 랭크를 판정하고 기본해를 구하는 데는 싸다. 단 최소노름 해까지 얻으려면 완전 직교 분해(complete orthogonal decomposition)로 한 단계 더 가야 한다(열 피벗 QR).
  • 그레빌의 열 추가 공식(Greville, 1960) — 열을 하나씩 붙이며 A+A^+ 를 갱신한다. 이론적으로 우아하지만 수치적으로 불안정할 수 있어 지금은 주로 교육용이다.
  • 반복법 — 대형 희소 문제는 A+A^+ 를 만들지 않고 LSQR·CGLS 같은 크리로프 부분공간법으로 A+bA^+\mathbf b 만 구한다. 영벡터에서 시작하면 반복이 행공간 안에 머물러 최소노름 해로 간다.

A+A^+ 를 명시적으로 만들지 마라는 역행렬과 똑같은 규칙이 여기도 적용된다. 필요한 건 대개 A+bA^+\mathbf b 지 A+A^+ 자체가 아니다.

역사적으로 무어(E. H. Moore)가 1920년 학회 초록에서 「일반 역수」를 먼저 정의했지만 독특한 표기 탓에 널리 읽히지 않았고, 비에르하마르(Bjerhammar, 1951)가 측지학 맥락에서, 펜로즈(1955)가 네 조건 공리로 독립적으로 재발견했다. 이름에 두 사람이 붙은 건 그래서다3.

8. 관련 문서

9. Footnotes

  1. 정의를 「이 네 등식을 만족하는 것」으로 바꾸자 존재·유일성이 각각 한 문단으로 끝났다. 펜로즈 논문이 짧은 이유다. 같은 사람이 나중에 블랙홀로 노벨상을 받는다. ↩

  2. 「특이점 근처에서 로봇 팔이 갑자기 휙 돈다」는 현장 민원의 상당수가 J+J^+ 를 날것으로 쓴 결과다. 감쇠 계수 하나 넣으면 조용해진다. ↩

  3. 비에르하마르는 이름에서 빠졌다. 그래서 일부 문헌은 공평하게 「무어-비에르하마르-펜로즈 역」이라 부르기도 하는데, 길어서 아무도 따라 하지 않는다. ↩

검증 자료

이 문서의 주요 출처

  1. Penrose (1955), A generalized inverse for matrices, Proc. Cambridge Philos. Soc. 51(3), 406-413
  2. Ben-Israel & Greville (2003), Generalized Inverses: Theory and Applications, 2nd ed., Springer
  3. Greville (1960), Some applications of the pseudoinverse of a matrix, SIAM Review 2(1), 15-22
  4. Golub & Van Loan (2013), Matrix Computations, 4th ed., Johns Hopkins University Press
  5. MATLAB pinv 문서 — 기본 허용오차 max(size(A))*eps(norm(A))
이 문서가 문제를 푸는 데 도움이 됐나요? 한 번의 클릭이 다음 검수 순서를 정합니다.

의견을 반영할게요. 감사합니다.

다음으로 읽기 절단 특이값 분해 약 5분 더 탐색 →