본문 바로가기
AI 수학/선형대수

놈 (norm)

by 깊은대학 2020. 10. 24.

norm을 한글로 표기할 때 ‘놈’이라고 하기도 하고 ‘노름’이라고 하기도 하는데, 둘 다 좋은 뜻은 아니지만 ‘놈’이 조금 나은 것 같다. 사람에게도 이놈, 저놈, 그놈이 있듯이 norm에도 여러 놈이 있다. 😊

 

 

벡터 xRn 의 놈은 다음 4가지 성질을 만족하면서 벡터에서 실수 값을 연결하는 함수로 정의하고, x로 표기한다.

           1. x은 음수가 아닌 실수값이다. 즉, x0
           2. x=0 일 때만 x=0 이다.
           3. 스칼라 α에 대해서 αx=|α|x 가 성립한다.
           4. x+yx+y 이 성립한다. 여기서 yRn.

위 4가지 성질을 만족하기만 하면 놈이라고 할 수 있는데, 많이 사용되는 놈은 다음 세 가지이다. 놈을 구별하기 위하여 아래 첨자를 사용하고, x1을 1-놈, x2를 2-놈, x-놈이라고 한다.

 

x1=|x1|+|x2|++|xn|x2=x12+x22++xn2=xTxx=max1jn|xj|

 

1-놈은 벡터 x의 성분의 절대값을 모두 더한 것으로, 2-놈은 벡터의 기하학적 길이로, -놈은 벡터 성분 중에서 크기가 제일 큰 값으로 정의한다.

놈의 예를 들면, x=[1350]T일 때, x1=9, x2=35, x=5이다.

 

 

그러면 행렬의 놈은 어떻게 정의할까. 행렬 ARm×n는 벡터 xRn을 벡터 AxRm으로 변환시킬 수 있다. Ax도 벡터이므로 놈 Ax을 정의할 수 있다. 그렇다면 Axx 값 사이에는 어떤 관계가 있을까.

x이 벡터 x에 따라 그 값이 달라지듯이 놈 Ax도 행렬 A와 벡터 x에 따라 달라질 것이다. 이렇게 본다면 행렬 A의 놈을 놈 Ax와 놈 x의 최대 비율로 정의할 수 있을 것이다. 행렬의 놈 A의 정의는 다음과 같다.

 

A=maxAxx,     for all x0

 

이와 같이 정의된 행렬의 놈은 벡터의 놈에서 유도된 것이므로 유도 놈(induced norm)이라고도 한다.

행렬 놈의 정의에 의하면 어떤 벡터 놈을 사용하느냐에 따라 달라진다. 벡터 놈으로 1-놈, 2-놈, -놈을 사용할 경우, 이에 대응하는 행렬 놈도 각각 1-놈, 2-놈, -놈이라고 한다. 행렬 ARm×n의 성분을 aij라고 하면 각각의 놈은 다음과 같다.

 

A1=maxAx1x1=max1jni=1m|aij|A2=maxAx2x2=λmax(ATA)A=maxAxx=max1imj=1n|aij|

 

여기서 λmax()은 최대 고유값(eigenvalue)을 나타낸다. 1-놈은 행렬의 열(column) 합 중에서 제일 큰 값, 2-놈은 행렬의 행렬 ATA의 최대 고유값의 제곱근(또는 행렬 A의 최대 특이값), -놈은 행렬의 행(row) 합 중에서 제일 큰 값이 된다.

증명해 보자. 먼저 벡터 Ax를 계산한다.

 

Ax=[a11x1+a12x2++a1nxnam1x1+am2x2++amnxn]

 

이 된다. 벡터 Ax의 1-놈의 정의에 의하면,

 

Ax1=|a11x1+a12x2++a1nxn|+        +|am1x1+am2x2++amnxn|(|a11|++|am1|)|x1|++(|a1n|++|amn|)|xn|{max1jn(|a1j|++|amj|)}(|x1|++|xn|)

 

이 된다. 따라서

 

Ax1x1max1jn(|a1j|++|amj|)

 

이 되므로 A1이 증명된다.

다음으로 1-놈과 결이 비슷한 -놈을 증명한다. -놈의 정의에 의하면,

 

Ax=max1im|ai1x1+ai2x2++ainxn|max1im(|ai1||x1|++|ain||xn|){max1im(|ai1|++|ain|)}(max1jn|xj|)

 

이 된다. 따라서

 

Axxmax1im(|ai1|++|ain|)

 

이 되므로 A이 증명된다.

한편, 벡터 Ax의 2-놈의 정의에 의하면,

 

Ax22=xTATAx

 

이 된다. 행렬 ATA는 대칭 행렬이므로 고유값과 고유벡터는 모두 실수값이다. 또한 서로 다른 고유값에 해당하는 고유벡터는 서로 직각이다. n×n 행렬 ATA의 고유값과 고유벡터를 각각 λjvj라고 하면, 임의의 벡터 x는 고유벡터의 선형 조합으로 표현할 수 있고,

 

x=c1v1+c2v2++cnvn

 

viTvj=0 이므로 다음 식을 얻을 수 있다.

 

xTATAxxTx=(c1v1++cnvn)T(c1λ1v1++cnλnvn)(c1v1++cnvn)T(c1v1++cnvn)=c12λ1++cn2λnc12++cn2(c12++cn2)λmaxc12++cn2=λmax

 

따라서 A2가 증명된다.

1-놈, 2-놈, -놈과 결은 다르지만 프로베니우스(Frobenius) 놈도 자주 사용된다. 프로베니우스 놈 AF는 다음과 같이 정의된다.

 

AF=trace(ATA)

 

 

행렬 놈의 예를 들면,

 

A=[120001]

 

일 때, A1=2, A2=5, A=3, AF=6 이다.

 

 

댓글