행공간, 열공간, 영공간과 계수

행공간, 열공간, 영공간과 계수

2020, Aug 26    


선형대수학 글 목차


  • 이번 글에서는 행공간 (row space), 열공간 (column space), 영공간 (null space)에 대하여 알아보도록 하겠습니다.


행공간(Row Space), 열공간(Column Space), 영공간(Null Space)의 정의


  • 행공간 (Row Space)는 m×nm×n 행렬 AA 의 행벡터 A1,A2,...,AmA1,A2,...,Am 에 의해 생성된 RnRn 의 부분공간 Row(A)=Span(A1,A2,...,Am)Row(A)=Span(A1,A2,...,Am) 을 의미합니다.
  • 위 표기에서 RnRn 은 각각의 행벡터를 구성하는 성분은 nn 개로 이루어져 있기 때문에 RnRn 의 부분공간으로 표기합니다.
  • 행공간의 기저는 사다리꼴 행렬에서 피봇이 존재하는 행을 선택합니다.


  • 열공간 (Column Space)는 m×nm×n 행렬 AA 의 열벡터 A(1),A(2),A(1),...,A(n)A(1),A(2),A(1),...,A(n) 에 의해 생성된 RmRm 의 부분공간 Col(A)=Span(A(1),A(2),...,A(n))Col(A)=Span(A(1),A(2),...,A(n)) 을 의미합니다.
  • 열공간의 기저는 행렬 AA 에서 피봇이 존재하는 열을 선택합니다.


  • 행공간과 열공간에서 선택되는 기저가 행공간에서는 사다리꼴 행렬에서 선택하고 열공간에서는 기존 행렬 AA 에서 선택하는 지는 본 글에서 설명드리곘습니다.


  • 영공간 (Null Space)는 m×nm×n 행렬 AA 를 계수행렬로 가지는 제차연립방정식( Av=0Av=0 )의 해집합으로 Null(A)={vRn|Av=0}Null(A)={vRn|Av=0} 으로 표기합니다.
  • 영공간의 기저는 연립방정식을 풀어야 구할 수 있습니다.
  • 영공간의 해집합이기 때문에 해가 유일하게 1개일 수도 있고 해가 없을 수도 있으며 무한히 많은 해를 가질 수도 있습니다.


  • 공간 (Space)의 의미는 벡터 공간 (Vector Space)의 의미를 가지고 행공간과 열공간은 Span을 이용하여 표현하기 때문에 부분 공간이 됨을 만족합니다.
  • 하지만 영공간의 경우 단순히 제차연립방정식의 해를 만족하는 집합인데 이 공간이 과연 벡터 공간의 성질을 만족하는 지는 별도 확인이 필요합니다. 이 내용을 먼저 확인해 보도록 하겠습니다.


  • (정리 12) m×nm×n 행렬 AA 의 영공간은 RnRn 의 부분공간이다.


  • 아래 3가지 내용을 차례로 증명하면 위 정리 12를 증명할 수 있습니다. 아래 3가지 내용은 벡터 공간을 구성하기 위한 조건에 해당합니다.


  • 1) 0Null(A)0Null(A)

  • 2) u,vNull(A)u+vNull(A)u,vNull(A)u+vNull(A)

  • 3) uNull(A),cRcuNull(A)uNull(A),cRcuNull(A)


  • 위 3가지 내용을 차례로 증면하면 아래와 같습니다.


  • 1) A0=0A0=0 이므로 0Null(A)0Null(A) 을 만족합니다.

  • 2) u,vNull(A)u,vNull(A) 이면 Au=0Au=0 이고 Av=0Av=0 이므로 A(u+v)=Au+Av=0+0=0A(u+v)=Au+Av=0+0=0 입니다.

  • 3) uNull(A)uNull(A)cRcR 에 대하여 Au=0Au=0 이므로 A(cu)=c(Au)=c0=0A(cu)=c(Au)=c0=0 입니다. 따라서 cuNull(A)cuNull(A) 입니다.


  • 그러면 행공간, 열공간, 영공간에 대하여 좀 더 자세히 다루어 보도록 하겠습니다.
  • 앞에서 정의한 행공간은 Row(A)=Span(A1,A2,...,Am)Row(A)=Span(A1,A2,...,Am) 형태를 따르고 만약 행벡터 A1,A2,...,AmA1,A2,...,Am 가 모두 일차 독립이라면 모두 기저가 되고 일차 종속인 행벡터가 있다면 Row Echelon Form 형태의 사다리꼴 행렬 ( RR )을 만들어 정리할 수 있습니다.
  • 이 때, 사다리꼴 행렬에서 피봇이 존재하는 행을 선택하면 기저에 해당하는 행공간을 구성할 수 있습니다. 주의할 점은 행공간의 기저는 AA 행렬 또는 RR 행렬에서 모두 선택할 수 있지만, Row Echelon Form 형태로 만들 시 행 간의 교환이 발생하면 RR 에서 구한 기저가 AA 에서 구한 기저와 다를 수 있기 때문입니다.
  • 기본행 연산을 이용하여 행렬의 변화가 발생할 때, 행공간은 변하지 않는 다는 성질을 이용하면 행공간은 사다리꼴 행렬에서 쉽게 구할 수 있습니다. 물론 원본 행렬 AA 에서 행공간을 가져올 수 있으나 교환에 대한 추적을 정확히 해야 하는 불편함이 있습니다.


  • 반면 열공간은 사다리꼴행렬 RR 에서 얻은 기저를 직접적으로 사용하지 않고 사다리꼴을 통해 확인할 수 있는 열공간의 기저의 위치를 확인한 후 원본 행렬 AA 에서 기저의 위치에 해당하는 열을 가져와서 사용합니다.
  • 이와 같은 방법을 사용하는 이유는 기본행 연산을 통해 얻은 사다리꼴 행렬에서 열의 정보는 보존 되지 않기 때문입니다.


  • 아래 예제를 살펴보도록 하겠습니다.


  • A=[132591]A=[132591] 일 때, 영공간을 구해보도록 하겠습니다.


  • A=[132591]A=[132591]
  • [1320611][1320611]


  • 위 사다라꼴 행렬 식에서 pivot이 생긴 열은 선행 변수라고 하며 pivot이 없는 열은 자유 변수라고 합니다.
  • 1열과 2열은 각각 1, -6 이라는 피벗이 있기 때문에 선행 변수가 존재하며 3열은 피벗이 없기 때문에 자유 변수가 존재합니다.
  • 따라서 위 사다리꼴 행렬 에서 첫번째 행이 행공간이 되고 원본 행렬에서 첫번째 열이 열공간이 됩니다.


  • Row(A)=Span([132])Row(A)=Span([132])
  • Col(A)=Span([15])Col(A)=Span([15])


  • 아래 쉬운 예제를 통하여 먼저 영공간에 대한 이해를 살펴보도록 하겠습니다.


  • [132069][x1x2x3]=[000][132069]x1x2x3=000(1)


  • x3=ax3=a(2)
  • 6x29x3=06x29x3=0(3)
  • x2=32ax2=32a(4)


  • x13x22x3=0x13x22x3=0(5)
  • x1=92a+2a=52ax1=92a+2a=52a(6)


  • Null(A)={[52a32aa]|aR}Null(A)=⎪ ⎪⎪ ⎪⎢ ⎢52a32aa⎥ ⎥|aR⎪ ⎪⎪ ⎪(7)
  • ={a2[532]|aR}=a2532|aR(8)


  • 영공간을 식 (8) 과 같이 정리할 수 있고 Av=0Av=0 의 해를 얻은 영공간은 독립이기 때문에 다음과 같은 Span 형태로 나타낼 수 있습니다.


  • Null(A)=Span([532])Null(A)=Span(532)(9)


  • 조금 더 복잡한 예제를 통하여 행공간, 열공간, 영공간을 구해보도록 하겠습니다.


  • A=[361171223124584]A=361171223124584(10)


  • 위 행렬을 사다리꼴로 만들어 보도록 하곘습니다.


  • [122313611724584]
  • [12231005101000122]
  • [12231005101000122]
  • [122310012200000]


  • 따라서 행공간의 기저는 다음과 같습니다.


  • Row(A)=Span([1,2,2,3,1],[0,0,1,2,2])


  • 열공간의 기저는 다음과 같습니다.


  • Col(A)=Span([312],[125])


  • 영공간의 기저는 다음과 같습니다.


  • x2=a,x4=b,x5=c
  • x3+2x42x5=0
  • x12x2+2x3+3x4x5=0
  • 먼저 식 (18)을 이용하여 전개해 보겠습니다.


  • 다음으로 식 (19)를 이용하여 전개해 보겠습니다.


  • x12x2+2x3+3x4x5=x12a+2(2b+2c)+3bc=0
  • x12a4b+4c+3bc=0
  • x1=2a+b3c
  • [x1x2x3x4x5]=a[21000]+b[10210]+c[30201]


  • 따라서 영공간의 기저는 다음과 같습니다.


  • Null(A)=Span{[21000],[10210],[30201]}


계수(Rank)의 정의


  • 계수 (Rank)m×n 행렬 A 에 대하여 열공간의 차원을 행렬 A 의 계수라고 합니다. 즉, rank(A)=dim(Col(A)) 가 성립하며 다음 성질을 가집니다.


  • rank(A) 는 사다리꼴 행렬에서 pivot의 갯수와 같다.
  • rank(A)+dim(Null(A))=n
  • rank(A)=dim(Col(A))=dim(Row(A))


  • ② 에서 rank(A) 에서는 선행 변수의 갯수를 구할 수 있고 dim(Null(A)) 에서는 자유 변수의 갯수를 구할 수 있습니다. 이 두가지 변수를 합하면 전체 변수의 갯수를 구할 수 있습니다. 이를 계수 정리라고 합니다.


  • 다음 예제를 통하여 행공간의 기저, 열공간의 기저, 행렬의 계수, 영공간의 기저 를 구해보도록 하겠습니다.


  • A=[1402131215528132520288]


  • 위 식 (25)를 사다리꼴 행렬로 변경해 보도록 하겠습니다.


  • A[140210011800114002213]
  • [14021001180000400003]
  • [14021001180000400000]=R


  • 식 (28)을 통하여 확인하였을 때, pivot은 1, 2, 3 행에 존재하고 1, 3, 5 열에 존재합니다.


  • 행공간의 기저를 구하기 위하여 식 (28) 의 R 에서 기저를 구하면 다음과 같습니다.


  • Row(A)=Span([14021],[00118],[00004])


  • 열공간의 기저는 앞선 설명에 따라 식 (28)의 피벗에 해당하는 열인 1, 3, 5 열을 식 (25)의 A 행렬에서 구합니다.


  • Col(A)=Span([1325],[0112],[1528])


  • 따라서 행렬의 계수rank(A)=3 임을 알 수 있습니다.


  • 다음으로 영공간의 기저를 구해보도록 하겠습니다. 행렬의 계수가 3이므로 영공간의 기저는 2개임을 알 수 있습니다.


  • 식 (28)의 R 을 이용하여 Rx=0 을 전개하면 다음과 같습니다.


  • x1+4x2+2x4x5=0
  • x3x4+8x5=0
  • 4x5=0


  • 식 (31), (32), (33) 을 풀면 다음과 같습니다.


  • [x1x2x3x4x5]=[4a2babb0]


  • Null(A)={[x1x2x3x4x5]|[x1=4a2bx2=ax3bx4bx50]}={a[41000]+b[20110]|a,bR}


  • 따라서 영공간의 기저는 다음과 같이 정리 됩니다.


  • Null(A)=Span([41000],[20110])



선형대수학 글 목차