지난 강의(Lecture 8, and etc...)에서 우리는 Rank에 대해서 배웠다. Rank라는 것은 어떤 행렬을 소거했을 때 만들어지는 pivot의 개수를 의미하며, 행렬이 표현할 수 있는 차원(dimension)을 의미하기도 한다. 또한 rank는 m by n 크기의 행렬에서 반드시 m보다 작거나 같고, n보다 작거나 같다. Rank는 행렬을 설명하는데에 있어서 굉장히 중요한 숫자이다. 

 

이번 강의에서는 이러한 rank와 관려하여 rank가 1인 행렬에대해 공부해보도록 하겠다. 

 

 

1. Rank 1 행렬(rank 1 matrices)

 

Rank가 1인 행렬을 하나 예를 들어보자. 아래의 행렬 A는 rank가 1인 행렬이다. 

 

 

row1이 [1 4 5]이고, row2가 row1의 두 배인 [2 8 10]이다. 이렇게 되면 row1과 row2는 서로 종속(dependent)이며 같은 선상에 위치한다. col1, col2, col3도 마찬가지이다. col2와 col3는 col1에 상수 4, 5를 곱한 것과 같기 때문에 col1과 일직선상에 위치해있다. 따라서 rank 1인 행렬이 표현할 수 있는 공간은 1차원이며 직선이다. (이전에 배운 내용을 토대로 직접 row echelon form을 만들어보자)

 

A의 row space의 기저(basis)는 무엇일까? 오직 row1이다. column space의 기저 역시 col1이다. 따라서 A의 row space와 column space의 차원(dimension)은 1로 같다. 

 

 

 

여기서 재밌는 사실 한 가지를 배워보자. 식 (2)에서 A의 column space와 row space의 기저를 각각 나열하였다. 이 기저들의 곱으로 원래의 rank 1 행렬 A를 만들어낼 수 있다. 아래 식은 굉장히 중요하다. 잘 살펴 보자. 

 

 

column space의 기저와 row space의 기저 순으로 곱하였더니 원래의 rank 1행렬 A가 만들어졌다. 여기서 중요한 포인트는 어떤 column vector와 어떤 row vector를 column x row순으로 곱하면 반드시 rank 1행렬 A가 만들어진다는 것이다. 

 

식 (3)에서 u는 column vector 이고 v도 역시 column vector이지만 전치(transpose)를 시켜서 row vector로 만든 것이다. 이것이 rank 1행렬의 큰 그림이다. 이후에 행렬식(determinant)이나 고유값(eigenvalue)등도 알아보겠지만, rank 1행렬은 벽돌 건물로 치자면 집짓기블록(building block)과 같은 것이다. 즉 모든 행렬에 있어서 가장 작은 기본 단위의 요소와 같다는 것이다. 빌딩 블록이란 말을 들으니 왠지 이러한 생각을 할 수도 있겠다. 

 

만약 어떤 임의의 크기의 행렬, 예를 들면 5 x 14크기의 행렬을 얻었다고 했을 때, 이 행렬의 rank가 4라면 4개의 rank 1 행렬의 조합으로 이를 표현할 수 있다. 즉 원래의 행렬을 5 x 14크기의 A라고 했을 때, A의 rank는 4이기 때문에 5 x 14크기의 rank 1행렬 4개의 조합으로 A를 표현할 수 있는 것이다. 이렇게 원래의 행렬을 rank 1행렬들로 분해하여 표현할 수 있기때문에 rank 1행렬들을 building block이라 표현하는 것이다. 

 

 

 

 

2. Rank 1행렬에 대한 부분 공간(subspaces for rank 1 matrices)

 

Section 1에서 예를 들었던 5 x 14크기의 행렬 A를 다시 생각해보자. 이번에 살펴볼것은 이 행렬 A의 부분 공간이다. 5 x 14크기의 rank 4인 행렬 A는 부분 공간을 가지는가? 5 x 14크기의 모든 행렬을 M이라고 가정해보자. 

 

 

전체집합 M중에서 rank가 4인 행렬들을 생각해봤을 때, 이들은 M의 부분 집합일까? 정답은 부분 공간이 아니다

M과 같은 크기(5 x 14)를 가지며 rank가 4인 행렬들을 더했을 때, 이들은 rank가 4가 안될 수 있다. 부분 공간이 되려면 스칼라곱(scalar multiplication)과 행렬 끼리의 덧셈 연산에 닫혀있어야(closed) 하며 영벡터를 포함해야한다

 

이 말은 어떤 rank 4 행렬 U와 또 다른 rank 4행렬 K를 선형 조합(Linear combination)연산을 했을 때 그 결과가 같은 공간에 있지 않을 수 있다는 말이다. 예를 한 번 들어보자. 아래의 3x3 크기의 행렬 A와 B를 보자. 

 

 

A와 B행렬의 rank는 각각 2다. 그러나 A+B의 rank는 3이 되어 원래의 rank2의 차원에서 벗어나게 되는 것이다. 3x3행렬로 예를 들었지만 5x14크기의 행렬도 마찬가지이다. 따라서 부분 공간이 아니다. 

 

 

- In R4 cases:

 

4차원 공간인 R4의 경우를 생각해보자. R4 공간상의 모든 벡터는 아래와 같이 4개의 component를 가지는 벡터로 표현할 수 있다. 

 

 

이때 R4의 부분 공간을 식(7)과 연관지어 다음과 같이 정의해보자.

 

 

식 (8)의 S는 R4의 부분 공간이다. 스칼라곱(scalar multiplication)과 덧셈 연산(addition)에 닫혀(closed)있기 때문이다. 즉 벡터 v에 어떤 상수를 곱해도 0이 되고, 혹은 같은 공간에 존재하는 vw에 임의의 상수를 곱하여 더해도 여전히 같은 공간에 존재한다. 잘 이해가 가지 않을 수도 있는데, 다시 말하면 이때의 v는 어떤 행렬 A의 null space이다. 처음부터 R4의 예를 들었지만 시각적으로 보여주기 편하게 하기 위해 같은 내용을 일단 R2의 경우로 예를 들어보자.

 

 

식 (9)는 2차원 공간인 R2에서의 예를 든 것이다. v, w, z의 각 벡터의 원소들의 합은 0이다. 이들을 좌표평면위에 표현한다면 어떤 그림이 나올까? 아래와 같을 것이다. 

 

 

 

R2의 경우에서 각 벡터들의 원소들의 합이 0인 경우를 그래프로 표현한 것이다. v, w, z의 벡터들이 하나의 라인을 형성하는 것을 볼 수 있다. 이 벡터들이 이와 같이 하나의 라인을 형성하는 것은 이들이 행렬 A=[1 1]의 null space이기 때문이다. 즉 위 그림의 v, w, z는 A=[1 1]행렬의 null space의 해(solution)인 것이다. 이때의 A는 rank 1인 행렬이고 따라서 1차원 행렬이다. 주요 부분공간에 대한 차원과 기저(basis)는 다음과 같다. 

 

차원(dimension) in R2

  • row space:      r=1
  • null space:      n-r = 2-1 = 1
  • column space: r=1
  • left null space: m-r = 1-1 = 0
 

기저(basis) in R2

  • row space:      [1 1]
  • null space:      [1 -1], [-1 1], ...
  • column space: R1
  • left null space: [0], empty

 

위의 R2의 경우를 잘 이해한 뒤 다시 R4의 경우를 보자. R4의 경우도 마찬가지다. 식 (7)과 (8)에서 얘기하는 벡터들은 R4에서 어떤 행렬 A의 null space이고 그 A는 아래와 같다. R2의 경우와 유사하다. 

 

 

이를 통해 우리는 R2에서와 같이 R4에서의 rank 1인 행렬과 Ax=0의 null space를 연결시킬 수 있다. R4일때의 차원은 rank와 밀접한 관련이 있다. row space와 column space는 rank의 수인 1과 같고, null space와 left null space의 경우엔 각각 n-r, m-r과 같다. (※lecture 10참고)

 

기저는 어떨까? 일단 row space의 기저는 첫 번째 row인 [1 1 1 1]그대로이다. 이제 null space의 기저를 알아보자. 무수히 많은 null space에 대한 기저가 존재하겠지만 lecture 7에서 다뤘던 special solution을 구할 수 있다. 간단히 말하자면 행렬의 소거 과정에서 드러나는 free variable을 각각 1과 0으로 설정해가며 나머지 해를 구하는 방법이다. (자세한 사항은 lecture 7참고). R4에서 null space의 special solution은 아래와 같다. 

 

 

식 (11)에서 pivot을 제외한 나머지 column의 component들이 free variable이다. 이 free variable들을 하나씩 1로 설정하고 나머지 component들을 0으로 설정한 뒤, Ax=0에 대해서 풀면 null space의 special solution을 구할 수 있다. 

 

column space의 기저는 어떨까? 그저 R1이다. [1] [1] [1] [1]의 선형 조합으로 정의되는데, 어떤 상수들을 곱하고 이들을 더해도 단지 상수값이 나올뿐이다. 즉 c1[1]+c2[1]+c3[1]+c4[1]=c 결국 R1의 값으로 정의할 수 있다. 

마지막으로 Left null space의 경우엔 어떨까? A의 전치 행렬에 대한 null space이므로 그 형태는 아래와 같을 것이다. 

 

 

 

위의 식 (12)를 만족시키는 x는 0밖에 없다. 따라서 Left null space는 0밖에 존재하지않는 0차원의 공간이다. 지금까지의 내용을 정리해보면 아래와 같다. 

 

 

차원(dimension) in R4

  • row space:      r=1
  • null space:      n-r = 4-1 = 3
  • column space: r=1
  • left null space: m-r = 1-1 = 0
 

기저(basis) in R4

  • row space:      [1 1 1 1]
  • null space:      [-1 1 0 0], [-1 0 1 0], [-1 0 0 1]...
  • column space: R1
  • left null space: [0], empty

 

결론적으로 R4에서의 주요 부분공간들의 차원을 살펴보면 row space의 차원은 rank 인 1이고 null space의 차원은 column의 수 n에서 rank를 뺀 n-r=3이 된다. 따라서 row space와 null space의 차원의 합은 1+3=4이다. 

 

column space의 차원도 역시 rank인 1이고, left null space의 경우엔 row의 수 m에서 rank를 뺀 m-r=1-1=0이다. 따라서 column space와 left null space의 차원의 합은 1+0=1이다. 이렇게 부분 공간의 각 차원들은 결과적으로 원래의 행렬 A의 차원을 나타낸다. 

 

 

 

 

3. 마치며

 

이번 포스팅에서는 Rank 1행렬과 이와 관련된 부분 공간들에 대해서 알아보았다. Rank 1은 모든 행렬들의 기본적인 행렬 단위가 되는, 즉 building block이라 할 수 있으며 이후 행렬식(determinant), 고유값(eigenvalue)등을 배울 때 이해해야 하는 부분이다. 또한 중요한 사실 중 하나인 column x row를 할 경우 항상 rank 1행렬이 만들어진다는 것을 배웠다. 

 

우리는 또한 Rank 1행렬에 대한 부분 공간들에 대해서 공부하였다. Rank 1행렬에 대한 각 부분 공간들인 row space, column space, null space, left null space들에 대하여 알아보고 각 공간들에 대한 차원과 기저에 대해서도 알아보았다. 또한 이들의 차원이 원래의 행렬 A의 크기와 어떠한 관계를 갖는가를 알아보았다. 

 

+ Recent posts