계량투자 실험실 Quantlab

Norm, Trace, Determinant

행렬에 하나의 실수값을 대응시켜야 할 때가 있다. 예를들어 행렬 자체의 크기를 측정하거나, 행렬 간의 크기를 서로 비교해야 하는 경우이다. 하지만 행렬에는 수많은 원소가 포함되어 있기 때문에, 단 하나의 실수값을 부여하는 논리는 상황에 따라 다를 수 있다. 이 중 가장 빈번하게 쓰이는 Norm, Trace, Determinant에 대해 알아본다.

Norm

Norm은 행렬의 크기를 측정하는 가장 일반적인 도구이다. 엄밀히 말하면 Vector norm과 Matrix norm으로 구분할 수 있는데, 벡터가 행렬의 특수한 형태임을 고려하면, 결국 같은 개념이라고 봐도 무방하다. 각각에 대해서 알아보자.

Vector Norm

Vector norm 이란, 벡터 x,yRnx,yRnαRαR에 대하여 다음의 몇 가지 성질을 만족하면서, 각 벡터에 음이 아닌 실수값을 대응시키는 연산 :RnR0:RnR0을 의미한다. 즉 벡터의 크기를 표현하는 방식 중 하나이다.

Triangle inequality   x+yx+yAbsolutely homogeneous   αx=|α|xPositive definite   x=0  x=0Triangle inequality   x+yx+yAbsolutely homogeneous   αx=|α|xPositive definite   x=0  x=0

위의 조건을 만족하는 Vector norm은 여러가지가 있을 수 있는데, 현실적으로는 pp-norm (= pp-norm)을 가장 많이 쓴다. 어떤 벡터 x=[xi]Rnx=[xi]Rn 와 실수 p1p1 에 대하여, 벡터 xxpp-norm 은 다음과 같이 정의된다.

xp(i|xi|p)1/pxp(i|xi|p)1/p

pp 값에 따라 아래와 같이 다양한 형태가 있으며, 각자 고유의 이름이 있다. 특히 p=2p=2 인 Euclidean norm을 가장 많이 쓰는 편이다.

x1=i|xi|x1=i|xi|
x2=(ix2i)1/2=xTx
x=maxi|xi|


Hölder’s inequality

1p+1q=1를 만족하는 실수 p, q1에 대해서,

|xTy|xpyq

Hölder’s inequality 라고 한다. 특히 p=q=2 인 경우, 즉

|xTy|x2y2

Cauchy–Schwarz inequality 라고 부른다.


Matrix Norm

Matrix norm 이란, 행렬 A,BRn×mαR에 대하여 다음의 몇 가지 성질을 만족하면서, 각 행렬에 음이 아닌 실수값을 대응시키는 연산 :Rn×mR0을 의미한다. Vector norm과 마찬가지로, 행렬의 크기를 표현하는 방식 중 하나이다.

Triangle inequality   A+BA+BAbsolutely homogeneous   αA=|α|APositive definite   A=0  A=O

여기서 ORn×m는 모든 원소가 0인 행렬을 뜻한다. 벡터의 크기와는 달리, 행렬의 크기는 측정하기가 다소 애매한 측면이 있다. 따라서 Vector norm을 이용해서 Matrix norm 을 간접적으로 정의하는데, Vector norm으로부터 induced 되었다고 해서, 이를 Induced norm 이라고도 부른다. 어떤 행렬 A=[aij]Rn×m 와 실수 p1 에 대하여, 행렬 A의 (induced) p-norm 은 다음과 같이 정의된다.

Apsupx0Axpxp

Ap 는, 벡터 Ax가 벡터 x에 비해 얼마나 큰 지를 나타내는 지표라고 할 수 있다. p 값에 따라 아래처럼 여러가지 형태로 유도된다.

여기서 λeigen value, σsingular value를 의미한다.

예를 들어보자. 행렬 A가 다음과 같이 주어졌을 때,

A=[213101]


Frobenius norm

앞서 언급했듯이, 행렬의 Induced norm은 Vector norm을 통해 간접적으로 표현된다. 이와는 별개로, 행렬 자체의 각 원소를 이용해서 행렬의 크기를 정의하는 방법이 있다. 이를 Entrywise norm이라고 한다. 행렬 A의 (entrywise) p-norm 은 다음과 같이 정의된다.

Ap=(i, j|aij|p)1/p

여기서 p=2인 경우를 Frobenius norm이라고 부르고, 다음과 같이 쓴다.

AF=(i, j|aij|2)1/2


Trace

정방행렬의 대각성분을 모두 합산한 값이다. 즉 행렬 A=[aij]Rn×n에 대해서 다음과 같이 정의된다.

tr(A)=iaii

Trace는 아래와 같은 성질을 지닌다.

위의 성질을 이용하면, 벡터 xRn 에 대한 이차형식(Quadratic form) xTAx 은 다음과 같이 여러 형태로 표현할 수 있다.

xTAx=tr(xTAx)=tr(AxxT)=tr(xxTA)


Determinant

행렬식이라고도 한다. 정방행렬 A=[aij]Rn×n에 대해, 다음과 같이 재귀적(Recurisve)인 방식으로 정의되는데, 이를 Cofactor expansion이라고 부른다. 임의의 k-행 또는 임의의 k-열에 대해서,

detAiCkiaki=jCjkajk

detA|A|라고 쓰기도 한다. Determinant가 재귀적인 이유는, Minor인 Mij 역시 Determinant이기 때문이다. 즉 Minor가 한 차원씩 작아지며 결국 1차원 실수가 될 때까지 계산이 반복된다. Determinant는 다음과 같은 성질을 지닌다.


Cofactor expansion의 일반화

위의 Determinant 정의에서 나오는 Cofactor expansion은 임의의 행(이나 열) 한 개를 선택하고, 해당 행(이나 열)을 따라서 A의 원소와 cofactor의 원소를 서로 곱한다. 이는 좀더 일반화 할 수 있다. A의 원소와 cofactor의 원소를 각기 다른 행(이나 열)에서 선택하는 것이다. 임의의 (h,k)-행에 대해서,

iChiaki={detAif  hk0otherwise

A와 cofactor의 각기 다른 열에서 원소를 선택하여 서로 곱하면 그 값은 0이 된다는 사실을 알 수 있다. 임의의 (h,k)-열에 대해서도 마찬가지이다. 이는 A의 역행렬을 유도하는 과정에서 사용하게 되는 주요 성질이다. 증명은 여기를 참고.