Quick Comparison
실수 대칭 A에서 모든 x≠0에 대해 xᵀAx>0이면 양의 정부호입니다. 0도 허용하는 준정부호와 구분합니다. 양의 정부호이면 Cholesky 분해 A=LLᵀ를 사용할 수 있습니다.
| 조건 | 이차형식 | 고유값 |
|---|---|---|
| 양의 정부호 | 모든 x≠0에서 양수 | 모두 양수 |
| 양의 준정부호 | 모든 x에서 0 이상 | 모두 0 이상 |
| 부정부호 | 방향에 따라 양수·음수 | 양수·음수가 함께 있음 |
제곱의 합으로 읽기
x=(x₁,x₂), A=[[4,2],[2,3]]을 사용합니다. 비대각 성분이 양쪽에 있어서 교차항에는 두 번 기여합니다.
xᵀAx = 4x₁² + 4x₁x₂ + 3x₂²
= (2x₁+x₂)² + 2x₂²x₂가 0이 아니면 둘째 항이 양수입니다. x₂=0이고 x≠0이면 x₁이 0이 아니므로 첫째 항이 양수입니다. 따라서 모든 0이 아닌 x에서 양수입니다. 행렬 성분이 모두 양수라는 조건을 정부호의 정의로 사용하지 않습니다.
실수 대칭 [[a,b],[b,c]]에서는 a>0, ac−b²>0이 양의 정부호 조건입니다. 더 큰 행렬은 왼쪽 위 k×k 부분의 행렬식이 모든 k에서 양수인지 확인하는 Sylvester 조건을 쓸 수 있습니다. 준정부호에 단순히 부등호를 ≥로 바꿔 같은 선도 부분만 검사하는 방식은 일반적으로 충분하지 않습니다. 예를 들어 diag(0,-1)의 왼쪽 위 1×1·2×2 행렬식은 모두 0이지만, x=(0,1)에서 xᵀAx=-1이므로 양의 준정부호가 아닙니다.
Cholesky 분해와 풀이
위 A는 대각이 양수인 아래삼각 L로 다음과 같이 분해됩니다.
L = [ 2 0 ] LLᵀ = [ 4 2 ] = A
[ 1 √2 ] [ 2 3 ]
b=(6,5)
Ly=b → y=(3,√2)
Lᵀx=y → x=(1,1)
Ax=(6,5)LU처럼 삼각 풀이를 두 번 하지만, 대칭 양의 정부호의 구조를 이용해 한 삼각 인자로 저장할 수 있습니다. 이 조건을 확인하지 않은 일반 행렬에 Cholesky를 적용하지 않습니다. 수치 구현에서 분해가 실패하면 입력의 대칭성·정부호·반올림·허용오차를 확인합니다.
에너지의 최소점
대칭 양의 정부호 A에 대해 E(x)=½xᵀAx−bᵀx를 생각하면 기울기는 Ax−b입니다. 따라서 Ax=b인 x가 유일한 전역 최소점입니다. 위 예의 x=(1,1)에서 E(x)=-11/2이고, 방향에 따른 양의 곡률 때문에 다른 점에서 같은 최소값을 얻지 않습니다.
A가 준정부호이면 평평한 방향이 있어 최소점이 유일하지 않을 수 있습니다. 선형항까지 있으면 최소점 자체가 없을 수도 있습니다. A=diag(1,0), b=(0,1)에서는 E(x)=½x₁²−x₂이므로 x₂를 키우면 아래로 끝없이 내려갑니다.
대칭 조건과 최소제곱
일반 실수 정사각행렬 B의 이차형식은 대칭 부분 S=(B+Bᵀ)/2로 표현되어 xᵀBx=xᵀSx입니다. 하지만 Bx와 Sx가 같은 벡터는 아닙니다. 에너지의 이차형식만 다루는 경우와 선형변환 자체를 교체하는 경우를 구분합니다.
BᵀB는 항상 양의 준정부호이며, B의 열이 독립이면 양의 정부호입니다. 이는 최소제곱의 정규방정식과 연결되지만, 계산을 위해 무조건 BᵀB를 만들라는 뜻은 아닙니다. 조건수가 나빠지는 경우 QR·SVD 기반 최소제곱을 비교합니다.
대칭이라고 양의 정부호는 아니고, 대칭이 아닌 행렬에서 고유값이 모두 양수라고 이차형식도 양수인 것은 아닙니다. 분류의 전제인 실수 대칭 조건을 유지합니다.
참고 링크
3 sources