복소 행렬, 대칭 행렬과 양의 정부호성
의 길이는 z=a+bi일 때 |z|=\sqrt{a^2+b^2}이고 v\in\C^n의 길이는 \|v\|=\sqrt{|v_1|^2+\cdots+|v_n|^2}이다. |z|^2=a^2+b^2=(a+bi)(a-bi)이므로 \overline{z}=z^*=a-bi라 하면 \|v\|=\sqrt{v_1\overline{v_1}+\cdots+v_n\overline{v_n}}이다. 모든 성분에 켤레를 취한 벡터나 행렬을 \overline{v}로 쓸 때 두 복소 벡터 a,\ b의 내적은 linearity in the first argument가 성립하는 a^T\overline{b}나 linearity in the second argument가 성립하는 \overline{a^T}b=a^*b로 정의할 수 있다.[1] 둘 다 sesquilinear form이고[2] 이 내적에 대한 전치 행렬은 \overline{A^T}이다. 즉 Hermitian adjoint가 conjugate transpose(켤레 전치)이며 이를 A^H=A^*=A^{\dagger}=A^{+} 등으로 쓴다. A^*=A, 즉 self-adjoint인 행렬 A를 Hermitian matrix(에르미트 행렬)라 하고 A^{-1}=A^*인 행렬 A를 unitary matrix(유니터리 행렬)라 한다.
A^*의 determinant는 \det \overline{A^T}=\det \overline{A}에서 각 성분끼리 곱하고 더하여 계산하므로 \det \overline{A}=\overline{\det A}이다. A의 고유값이 \lambda일 때 A^*의 고유값은 \det(\overline{A^T}-\lambda I)=\det\overline{(A-\overline{\lambda}I)^T}=\overline{\det(A-\overline{\lambda}I)}=0의 해이고 0은 실수이므로 complex conjugate \overline{\lambda}이다. 실수 행렬의 고유값이 복소수 \lambda일 때 \overline{Ax}=A\overline{x}=\overline{\lambda x}=\overline{\lambda}\overline{x}이므로 켤레 \overline{\lambda}도 고유값이다.
A^*=A이면 모든 벡터 v에 대해서 (v^*Av)^*=v^*A^*v=v^*Av는 허수 부분이 0이어야 하므로 실수이다. 이제 Ax=\lambda x를 가정하면 x^*Ax=\lambda x^*x=\lambda \|x\|^2도 실수이어야 하는데 \|x\|^2는 양수이므로 \lambda는 실수이다. 즉 Hermitian matrix A의 모든 고유값은 실수이므로 c\neq 0이면 \det(A+ciI)\neq 0이다. 실수 대칭 행렬의 모든 고유값이 실수이므로 (A-\lambda I)x=0의 해는 실수 행렬의 null space이고, 각 고유값에 대응하는 실수 고유벡터를 elimination으로 얻을 수 있다.[3]
unitary matrix Q가 (Q+cI)x=0이라고 가정하면 Qx=-cx에서 x^*x=x^*Q^*Qx=(-cx)^*(-cx)=\overline{c}cx^*x=|c|^2x^*x이다. |c|\neq 1이면 x=0이어야 하므로 그러한 Q+cI의 null space에는 0밖에 없다. 따라서 unitary matrix는 모든 고유값의 절댓값이 1이며, 각 column의 길이도 1이므로 triangular matrix가 diagonal matrix밖에 없다. A가 Hermitian이면서 unitary이면 A^2=I이며 세 조건 중 둘이 나머지 하나를 함의한다.
스펙트럼 분해
A^*=A이면 Ax=\lambda x,\ Ay=\mu y,\ \lambda \neq\mu일 때 \langle \lambda x,\ y\rangle=\langle Ax,\ y\rangle=\langle x,\ A^*y\rangle=\langle x,\ \mu y\rangle에서 \lambda^*-\mu=0이거나 \langle x,\ y\rangle=0이어야 한다. A의 모든 고유값이 실수이므로 x\perp y이고, 그러므로 Hermitian matrix A의 서로 다른 고유값에 대응하는 고유벡터 q_i들이 각 열을 이루는 unitary matrix Q에 대해서 A=Q\Lambda Q^*로 고유값 분해할 수 있다. A_{ij}=\lambda_1q_{i1}\overline{q_{j1}}+\cdots+\lambda_n q_{in}\overline{q_{jn}}에서 각 항을 고유값에 한 행렬을 곱한 것으로 볼 수 있고, 따라서 A=\lambda_1 q_1q_1^*+\cdots+\lambda_n q_nq_n^*이다. 이 일차 결합을 A의 spectral decomposition(스펙트럼 분해)이라고 하며, q_iq_i^*는 projection matrix이므로 다항식 f에 대해서 f(A)=f(\lambda_1)q_1q_1^*+\cdots+f(\lambda_m)q_nq_n^*이다.[4]
spectral decomposition은 Schur decomposition으로 볼 수 있다. 행렬 A가 주어지면 unitary matrix Q와 triangular matrix A'에 대해서 A=QA'Q^{-1}이므로 A^*=A이면 A'^*=(Q^{-1}AQ)^*=Q^*A^*(Q^{-1})^*=Q^{-1}AQ에서 A'는 diagonal matrix이다. 일반화하여 AA^*=A^*A이면 A'=Q^{-1}AQ도 A'A'^*=Q^{-1}AQQ^{-1}A^*Q=Q^{-1}AA^*Q=Q^{-1}A^*AQ=A'^*A'이며
- (A'A'^*)_{11}=|a_{11}|^2+\cdots+|a_{1n}|^2=(A'^*A')_{11}=|a_{11}|^2이므로 a_{12},\ \cdots,\ a_{1n}은 모두 0이고, (A'A'^*)_{22}=|a_{22}|^2+\cdots+|a_{2n}|^2=(A'^*A')_{22}=|a_{12}|^2+|a_{22}|^2=|a_{22}|^2이므로 a_{23},\ \cdots,\ a_{2n}은 모두 0이고, ...
따라서 A'는 diagonal matrix이다. 즉 AA^*=A^*A이면 normal matrix이고[5] spectral decomposition을 할 수 있다. unitary matrix는 서로 다른 고유값 \lambda,\ \mu에 대응하는 고유벡터 x,\ y가 x^*y=(Qx)^*Qy=\overline{\lambda}\mu x^*y에서 \overline{\lambda}\lambda=1이므로 x^*y=0이어야 한다. skew-Hermitian matrix는 Hermitian matrix에 허수 i를 곱한 것으로 모든 고유값이 pure imaginary number이다.
양의 정부호성
모든 성분이 복소수인 행렬 A는 Hermitian matrix와 skew-Hermitian matrix의 합 \displaystyle A=\frac{A+A^*}{2}+\frac{A-A^*}{2}로 쓸 수 있다. 첫 번째 항은 모든 고유값이 real number, 두 번째 항은 모든 고유값이 pure imaginary number이다. 합의 고유값을 각각의 고유값에서 얻을 수 없지만, Hermitian part만 가지면서 모든 고유값이 양수인 행렬을 positive definite(양의 정부호)라 해 볼 수 있다. 그러한 A는 Hermitian matrix이므로 모든 벡터 v에 대해서 v^*Av가 실수이고 \displaystyle v^*Av=v^*(Q\Lambda Q^*)v=(Q^*v)^*\Lambda(Q^*v)=\sum_{i}\lambda_i |(Q^*v)_i|^2이다. 즉 모든 벡터 v\neq 0에 대해서 v^*Av는 양수이다.[6] 또한 v=(x_1,\ \cdots,\ x_n)^T라 하면 scalar v^*Av를 변수 x_1,\ \cdots,\ x_n에 관한 다항식 \displaystyle \sum_{i,\ j} A_{ij} \overline{x_i}x_j로 볼 수 있고 v=0일 때 최솟값 0을 가진다. 이 식을 A의 quadratic form(이차 형식)이라고 한다. \|v\|=1일 때 이차 형식의 최댓값은 A의 가장 큰 고유값이다.[7]
대개는 모든 벡터 x\neq 0에 대해서 x^*Ax>0인 행렬을 positive definite로 정의한다. 이 조건을 따르는 A와 x의 성분이 복소수이면 x^*Ax를 실수로 만들기 위해서 모든 벡터 x\neq 0에 대해서 (x^*Ax)^*=x^*Ax이어야 하고 A는 Hermitian이다.[8] 이 조건을 따르는 A와 x의 성분이 실수이면 그러한 제한이 없으므로 symmetric 조건을 추가로 가정해 줄 수 있다.[9] 그러지 않으면 고유값이 양수이어도 x^*Ax>0이 아닐 수 있고, x^*Ax>0이어도 고유값이 실수가 아닐 수 있다.[10] 하지만 x^*Ax>0일 때 고유값의 real part는 항상 양수이고 문맥에 따라서 symmetric 조건을 붙이지 않은 정의를 선호할 수 있다.[11] 복소 행렬에서와 마찬가지로 A를 symmetric matrix와 skew-symmetric matrix의 합 \displaystyle A=\frac{A+A^T}{2}+\frac{A-A^T}{2}로 쓸 수 있고, A의 skew-symmetric part는 \displaystyle x^T\left(\frac{A-A^T}{2}\right)x=\frac{x^TAx-(x^TAx)^T}{2}=0이다.[12]
A,\ B가 positive definite이면 x^*(A+B)x>0이므로 A+B가 positive definite, Ax=\lambda x일 때 A^2,\ A^{-1},\ e^{At}의 고유값이 \lambda^2,\ 1/\lambda,\ e^{\lambda t}이므로 A^2,\ A^{-1},\ e^{At}가 positive definite이다. A-A_{ii}I가 positive definite이면 v_i=1인 단위 벡터 v에 대해서 v^*(A-A_{ii}I)v=(A-A_{ii}I)_{ii}>0이어야 하지만 (A-A_{ii}I)_{ii}=0이므로 모순이다. 즉 행렬이 positive definite이면 각 대각 성분은 가장 작은 고유값과 같거나 그보다 크다.[13] A가 positive definite이면 AB+B^*A=-I이고 Bx=\lambda x일 때 x^*(AB+B^*A)x=2\lambda x^*Ax=-\|x\|^2이므로 asymptotically stable이다.[14]
matrix congruence
실수 대칭 행렬 A가 n\times n 행렬 I이면 x^TAx=1은 n차원 구의 방정식이고, \displaystyle A=\begin{pmatrix}1 & 0 \\ 0 & 4\end{pmatrix},\ x=\begin{pmatrix} x_1 & x_2 \end{pmatrix}^T이면 x^TAx=1은 장축이 x_1축이고 단축이 x_2축이며 (\pm 1,\ 0)과 (0,\ \pm 0.5)를 지나는, 중심이 원점인 타원의 방정식이다. 실수 대칭 행렬 A가 2\times 2 행렬이면 고유값 \lambda_1에 대응하는 길이가 1인 고유벡터 q_1=(a,\ b)과 고유값 \lambda_2에 대응하는 길이가 1인 고유벡터 q_2=(c,\ d)에 대해서 x^TAx=(Q^Tx)^T\Lambda(Q^Tx)=\lambda_1(ax_1+bx_2)^2+\lambda_2(cx_1+dx_2)^2이다. orthogonal matrix Q는 reflextion들뿐이고[15] x^TAx=1은 각 축의 방향이 A의 고유벡터인, 회전된 타원의 방정식이다. 실수 대칭 행렬 A가 positive definite인 n\times n 행렬이면 마찬가지로 축의 방향이 고유벡터이고 축의 길이가 고유값의 inverse square root인, 중심이 원점인 타원체의 방정식이며 이를 principal axis theorem(주 축 정리)이라고 한다.
축 회전 이전의 A와 축 회전 이후의 B^TAB의 관계를 congruent(합동)라고 한다.[16] 이는 정사각 행렬 B의 모든 고유값이 0이 아닐 때 A와 B^TAB가 서로 다른 basis에서 같은 bilinear form을 이끌어낼 수 있음을 뜻한다. matrix congruence는 equivalence relation이다. A가 실수 대칭 행렬일 때, congruent인 행렬은 고유값이 양수인 것, 음수인 것, 0인 것의 개수가 A와 같고 그 역도 성립한다. 이를 Sylvester's law of inertia라 하며[17] 증명은 다음과 같다: orthogonal matrix Q에 대해서 A와 Q^TAQ의 고유값은 같으므로 B^TAB에서 Q^TAQ로 가도록 함수 f(t)=tQ+(1-t)B를 생각할 수 있다. B는 invertible이므로 QR 분해를 할 수 있고 f(t)=Q(tI+(1-t)R)은 continuous function이다. R의 대각 성분이 모두 양수가 되도록 분해했다면 tI+(1-t)R는 모든 t에 대해서 invertible이다. 이때 (f(t))^TAf(t)는 continuous function이므로 모든 고유값이 0을 가로지르지 않는다.
또는 A의 양수인 고유값에 대응하는 고유벡터 x_i들과 B^TAB의 음수인 고유값에 대응하는 고유벡터 y_i들에 대해서 x_1,\ \cdots,\ By_1,\ \cdots가 독립이므로 고유값이 양수인 것, 음수인 것의 개수가 서로 같으며, \rank B^TAB\leq \rank A이고 \rank B^TAB \geq \rank (B^T)^{-1}B^TABB^{-1}이므로 고유값이 0인 것의 개수가 서로 같다. 모든 실수 대칭 행렬은 signature matrix와 congruent이다.[18]
마찬가지로 A가 Hermitian일 때 conjugate transpose에 대해서 law of inertia가 성립한다. A에 제한이 붙는 이유는 고유값을 양수와 음수로 나누기 위해서이다.[19] I는 positive definite이므로 A의 모든 고유값이 0이 아닐 때 law of inertia에 따라서 정사각 대칭 행렬 A^TA와 AA^T는 positive definite이다. x^TAx는 symmetric matrix A의 LDL^T 분해와도 잘 어울린다. x^TAx=(L^Tx)^TD(L^Tx)는 elimination에서 얻는 pivot을 계수로 하여 A의 이차 형식을 완전제곱식으로 정리한 것이다. law of inertia에 따라서 D와 A는 same inertia를 가진다. 따라서 A-cI의 pivot의 부호를 통해 가장 작은 고유값을 근사할 수 있다.[20] 이는 pivot의 값에서 얻을 수 있는 성질이 아니며, 예를 들어 \begin{pmatrix} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2\end{pmatrix}의 pivot은 2,\ 3/2,\ 4/3이지만 고유값은 2,\ 2+\sqrt{2},\ 2-\sqrt{2}이다.
semi-definiteness
A=BDB^*와 같은 분해를 A=(B\sqrt{D})(B\sqrt{D})^*처럼 볼 수 있다. A=CC^* 또는 A=C^*C일 때 모든 unitary matrix Q에 대해서 A=(CQ)(CQ)^* 또는 A=(QC)^*(QC)이고 C를 QR 분해할 수 있으면 A=(RQ)(RQ)^* 또는 A=(QR)^*(QR)이다. 이는 Gramian matrix(그람 행렬)이며, 예를 들어 A가 Hermitian일 때 A=LDL^*,\ A=Q\Lambda Q^*,\ A=Q\sqrt{\Lambda}Q^*Q\sqrt{\Lambda} Q^*를 이와 같이 쓸 수 있다.
A=C^*C이면 A^*=A이며 x^*C^*Cx=(Cx)^*(Cx)=\|Cx\|^2에서 x^*Ax\geq 0이다. 이러한 A를 positive semi-definite(양의 준정부호)라고 한다. C의 column이 독립이면 Cx=0인 x는 0뿐이므로 A는 positive definite이다. 또한 x^*Ax\geq 0이면 (Px)^*A(Px)\geq 0이어야 하므로 모든 주 소행렬식이 0 이상이라는 것은 positive semi-definite를 뜻하고, 그 가운데 모든 선도 주 소행렬식만이 양수이어도 positive definite를 뜻한다. 예를 들어 \begin{pmatrix} 0 & 0 \\ 0 & -1\end{pmatrix}는 모든 선도 주 소행렬식이 0이지만 negative semi-definite이다. A=C^*C이면 Cauchy–Schwarz inequality에 따라서 \|Cx\|^2\|Cx'\|^2=(x^*C^*Cx)(x'^*C^*Cx')=(x^*Ax)(x'^*Ax')\geq |(Cx)^*Cx'|^2=|x^*C^*Cx'|=|x^*Ax'|^2이다. \det A=(\det C)^2는 C의 각 행 또는 각 열을 서로 직교하는 벡터들로 만들었을 때 각 벡터들의 크기의 제곱의 곱이고 A_{ii}=[C^*]_i[C]^i=\|[C]^i\|^2이므로 \displaystyle \det A \leq \prod_i A_{ii}이다.
A=LDL^*을 A=CC^*=(L\sqrt{D})(L\sqrt{D})^*로 보는 것을 Cholesky decomposition(숄레스키 분해)라고 한다. A가 positive semi-definite일 때 대각 성분이 양수로 \rank A개 있으면서 나머지 column들이 모두 0인 L\sqrt{D}는 유일하다. A=CC이면 \sqrt{A}=C로 쓰고 square root of a matrix라고 한다. A가 positive semi-definite일 때 C도 positive semi-definite이어야 하면 C=QD Q^*,\ C'=Q'D' Q'^*일 때 A=QD^2 Q^*=Q'D'^2 Q'^*에서 C=Q\sqrt{\Lambda}Q^{*}로 유일하고 CC=CC^*=C^*C이다.[21]
\partial^2 f(x,\ t)/\partial x^2=x''와 같은 미분 방정식에서 x''가 x에 scalar를 곱한 꼴이면 행렬로 구성한 이계 도함수 A에 대해서 Ax=\lambda x로 쓸 수 있다. 이때 x''의 각 성분에 질량 m을 할당하면 Ax=\lambda Mx이다. 만약 M이 positive semi-definite이면 Ax=\lambda C^* Cx에서 AC^{-1}Cx=\lambda C^* Cx이고 (C^{-1})^*AC^{-1}Cx=\lambda Cx는 Hermitian matrix (C^{-1})^*AC^{-1}의 고유값을 구하는 문제이다. 이때 \lambda가 바뀌지 않으므로 Ax=\lambda Mx를 만족하는 \lambda는 (C^{-1})^*AC^{-1}의 고유값이고, x는 (C^{-1})^*AC^{-1}의 고유벡터 Cx들의 앞에 C^{-1}을 곱한 것이다. 즉 \lambda들은 실수이고 law of inertia에 따라서 그 부호들이 A의 고유값들과 같으며, (C^{-1})^*AC^{-1}를 스펙트럼 분해할 수 있으므로 직교하는 두 고유 벡터 Cx_1,\ Cx_2에 대해서 (Cx_1)^*Cx_2=x_1^*C^*Cx_2=x_1^*Mx_2=0이다. 따라서 이러한 x_i들이 각 열을 이루는 행렬 X에 대해서 X^*AX=\Lambda이다. 이는 Q^{-1}AQ=\Lambda와 같은 대각화가 아니다.
singular value decomposition
n\times m 행렬 A의 column space와 left null space의 orthonormal basis로 U를 구성하고 row space와 null space의 orthonormal basis로 V를 구성해 볼 수 있다. A^TA는 A와 null space가 같고 \lambda \neq 0에 대해서 A^TAx=\lambda x에 대응하는 고유벡터 x들은 row space를 생성한다. 반면에 AA^T는 A와 left null space가 같고 \lambda \neq 0에 대해서 AA^Tx'=\lambda x'에 대응하는 고유벡터 x'들은 column space를 생성한다. A^TA의 고유값 \lambda_i에 대응하는 고유벡터를 right singular vector x_i라 할 때 x_i^TA^TAx_i=\lambda_ix_i^Tx_i에서 \|Ax_i\|^2=\lambda_i이다. (AA^T)(Ax_i)=\lambda_i(Ax_i)이므로 AA^T의 고유값 \lambda_i에 대응하는 left singular vector x'_i는 Ax_i/\|Ax_i\|=Ax_i/\sqrt{\lambda_i}이다.
따라서 right singular vector들이 각 열을 이루는 m\times m 행렬을 V, left singular vector들이 각 열을 이루는 n\times n 행렬을 U라 하고, 각 \sqrt{\lambda}들이 대각 성분을 이루는 n\times m 행렬을 \Sigma라 하면 AV=U\Sigma이며 이를 A의 singular value decomposition(특이값 분해)이라 한다. 대각 행렬 \Sigma는 A^TA에서 나오는 m\times m 행렬 \Sigma^T\Sigma와 AA^T에서 나오는 n\times n 행렬 \Sigma\Sigma^T에 있는 동일한 eigenvalue들 \lambda_i=\sigma_i^2의 root \sigma_i들을 가지고, 이를 A의 singular value(특이값)라 한다.
마찬가지로 복소 행렬에 대해서 unitary matrix V,\ U를 구성하여 A=U\Sigma V^*로 쓸 수 있다. spectral decomposition A=Q\Lambda Q^*이 있으면 A^TA=AA^T=Q\overline{\Lambda}\Lambda Q^*이고, A가 positive definite일 때 A^2의 eigenvector가 A와 같으므로 spectral decomposition이 또한 singular value decomposition이다.[22] \displaystyle \max_i\sigma_i /\min_i \sigma_i를 A의 condition number라 하며, singular value들을 큰 것부터 나열했을 때 적당히 끊어서 condition number를 낮추면 주어진 행렬의 데이터를 손실 압축할 수 있다. 직사각 행렬 A=U\Sigma V^T의 유사 역행렬은 각 \sigma_i의 역수들이 대각 성분을 이루는 m\times n 행렬 \Sigma^{+}에 대해서 A^{-1}=V\Sigma^{+}U^T이다.
polar decomposition
A=U\Sigma V^*=(UV^*)(V\Sigma V^*)에서 UV^*는 unitary matrix이고 V\Sigma V^*는 Hermitian matrix이면서 positive semi-definite이다. Q=UV^*를 편각, S=V\Sigma V^*를 절댓값처럼 생각하여 A=QS를 polar decomposition(극 분해)이라고 한다. S의 eigenvalue인 특이값들에서 A를 취할 때 scaling이 어떻게 되는지 알 수 있다. S^2=A^*A이고, A=(U\Sigma U^*)(UV^*)=S'Q로 분해하면 S^2=AA^*이다. A가 invertible이면 S는 positive definite이다.
참고 자료
- ↑ https://math.stackexchange.com/questions/244528/is-any-inner-product-given-by
- ↑ https://en.wikipedia.org/wiki/Sesquilinear_form
- ↑ https://math.stackexchange.com/questions/1398023/question-about-eigenvectors-of-real-matrix-with-real-eigenvalues
- ↑ https://en.wikipedia.org/wiki/Spectrum_(functional_analysis)
- ↑ https://math.stackexchange.com/questions/3513736/how-to-determine-all-2-times-2-normal-matrices, https://math.stackexchange.com/questions/2046163/does-there-exist-a-normal-matrix-which-is-not-diagonal-nor-hermitian-nor-unitar, https://math.stackexchange.com/questions/57148/matrices-which-are-both-unitary-and-hermitian
- ↑ https://math.stackexchange.com/questions/1434167/proving-that-a-symmetric-matrix-is-positive-definite-iff-all-eigenvalues-are-pos
- ↑ https://math.stackexchange.com/questions/4048349/maximize-quadratic-function-over-unit-sphere
- ↑ https://math.stackexchange.com/questions/433006/proof-complex-positive-definite-self-adjoint
- ↑ https://math.stackexchange.com/questions/1954167/do-positive-semidefinite-matrices-have-to-be-symmetric
- ↑ https://math.stackexchange.com/questions/83134/does-non-symmetric-positive-definite-matrix-have-positive-eigenvalues
- ↑ https://math.stackexchange.com/questions/1555039/what-is-the-agreed-upon-definition-of-a-positive-definite-matrix
- ↑ https://math.stackexchange.com/questions/1964039/why-do-positive-definite-matrices-have-to-be-symmetric
- ↑ https://en.wikipedia.org/wiki/Min-max_theorem
- ↑ https://en.wikipedia.org/wiki/Lyapunov_stability
- ↑ https://en.wikipedia.org/wiki/Cartan%E2%80%93Dieudonn%C3%A9_theorem
- ↑ https://math.stackexchange.com/questions/1388421/reference-for-linear-algebra-books-that-teach-reverse-hermite-method-for-symmetr
- ↑ https://math.stackexchange.com/questions/6906/why-is-it-called-sylvesters-law-of-inertia
- ↑ https://math.stackexchange.com/questions/1109103/is-the-converse-of-sylvesters-inertia-law-true, https://math.stackexchange.com/questions/3580664/find-a-diagonal-matrix-congruent-to-the-following-given-matrix
- ↑ https://math.stackexchange.com/questions/4126674/generalization-of-sylvesters-law-of-inertia
- ↑ https://en.wikipedia.org/wiki/Eigenvalue_algorithm
- ↑ https://math.stackexchange.com/questions/349721/square-root-of-positive-definite-matrix
- ↑ https://math.stackexchange.com/questions/644327/how-unique-are-u-and-v-in-the-singular-value-decomposition
- Gilbert Strang. Linear Algebra and Its Applications.
- Serge Lang. Linear Algebra.