행렬의 Rank

열공간과 행공간

  • 행렬 의 열벡터들이 생성하는 공간을 열공간(column space) 이라 하고 로 쓴다.
  • 행벡터들이 생성하는 공간을 행공간(row space) 이라 하고 로 쓴다. ()
  • 는 의 열벡터들의 일차결합이므로, 는 가 만들어낼 수 있는 모든 출력 벡터 의 집합(치역)이기도 하다.
  • 열공간과 행공간은 8. 기저와 차원에서 본 것처럼 span이므로 부분공간이다.

랭크의 정의

  • 행렬 의 랭크(rank, 계수) 는 열공간의 차원, 즉 선형독립인 열벡터의 최대 개수이다.
  • 즉, 열 기준(column rank)과 행 기준(row rank)으로 세어도 같으므로 단순히 rank라 부른다.
  • 직관적으로 랭크는 행렬이 가진 독립적인 정보의 양, 또는 행렬이 입력 공간을 얼마나 큰 차원의 공간으로 보내는지를 나타낸다.

랭크 구하기

기약 행 사다리꼴(RREF)로 구하기

  • 5. 초등행렬의 기본 행 연산은 행공간을 바꾸지 않으며, 랭크도 바꾸지 않는다. (행 연산은 행벡터들의 일차결합을 만들 뿐이고, 가역이므로 되돌릴 수 있다. 열 기준의 랭크도 변하지 않음은 아래 행 랭크 = 열 랭크의 증명에서 보인다.)
  • 따라서 4. 가우스-조던 소거법으로 (기약) 행 사다리꼴로 만든 뒤, 0이 아닌 행의 개수 = 피벗(pivot)의 개수를 세면 그것이 랭크이다.

예시 1

  • 피벗이 2개이므로 이다.
  • 3×3 정방행렬이지만 랭크가 3이 아니므로 가역이 아니다. (, 7. 선형독립과 선형종속의 예시 3)
  • 피벗이 있는 열은 1열, 2열이므로 원래 행렬의 1열과 2열이 열공간의 기저이다. 3열은 이다.

예시 2

  • 피벗이 2개(1열, 3열)이므로 이다.
  • 열공간의 기저는 원래 행렬 의 1열과 3열, 즉 이다. (주의: RREF의 열이 아니라 원래 행렬의 열을 써야 한다. 행 연산은 열공간을 바꾸기 때문이다.)
  • 행공간의 기저는 RREF의 0이 아닌 행 이다. (행 연산은 행공간을 바꾸지 않는다.)

행 랭크 = 열 랭크의 증명

  • 행렬 를 기본 행 연산으로 기약 행 사다리꼴 로 만들었다고 하자. 기본 행 연산은 5. 초등행렬을 왼쪽에 곱하는 것과 같으므로, 가역행렬 (초등행렬들의 곱)가 존재하여 다음이 성립한다.
  • 의 피벗 개수를 이라 하고, 임을 보이면 된다.

1단계: 행 랭크는 이다.

  • 행 연산은 행공간을 바꾸지 않으므로 이다. (의 각 행은 행들의 일차결합이고, 가 가역이라 반대도 성립한다.)
  • 의 0이 아닌 행 개는 각각 자신의 피벗 위치에만 1을 가지고 다른 행은 그 위치가 0이므로 선형독립이다. 이 개가 을 생성하므로 기저이고, 이다.

2단계: 열 랭크도 이다.

  • (a) 행 연산은 열벡터 사이의 종속 관계를 보존한다. 이고 가 가역이므로, 임의의 에 대하여

이다. 는 의 열벡터들의 일차결합이므로, 이는 의 열들 사이의 일차결합 관계와 의 열들 사이의 일차결합 관계가 정확히 같다는 뜻이다. 따라서 의 어떤 열들이 선형독립일 필요충분조건은 의 같은 위치의 열들이 선형독립인 것이다. (열 자체는 달라지지만 독립성은 유지된다.)

  • (b) 의 피벗 열 개는 표준기저 벡터 이므로 선형독립이다.
  • (c) 의 피벗이 아닌 열은 0이 아닌 성분이 앞의 개 행에만 있으므로 의 일차결합이다. 따라서 피벗 열에 더 보태도 선형독립인 개수는 늘지 않고, 의 열 랭크는 정확히 이다.
  • (a)에 의해 의 피벗 위치에 해당하는 열 개가 선형독립이고, 나머지 열은 이들의 일차결합이다. 따라서 이다.

결론

  • 즉, 행 랭크 = 열 랭크 = 피벗의 개수이다.
  • 증명 과정에서 원래 행렬 의 피벗 위치 열들이 의 기저라는 사실도 함께 얻는다. 예시 2에서 RREF가 아니라 원래 의 1열과 3열을 기저로 썼던 이유가 이것이다.
  • 예시 2에서 확인: 의 4열은 이므로 의 4열도 같은 관계 을 가진다. 실제로 이다.

행렬식으로 구하기 (참고)

  • 행렬 에서 행 개와 열 개를 골라 만든 부분행렬의 행렬식을 차 소행렬식(minor) 이라 한다.
  • 랭크는 0이 아닌 소행렬식이 존재하는 가장 큰 차수 와 같다.
  • 이유: 부분행렬의 행렬식이 0이 아니면 그 부분행렬은 가역이므로 선택한 개의 열이 선형독립이다(6. 행렬식). 따라서 이다. 반대로 이면 독립인 열 개와 독립인 행 개를 골라 부분행렬을 만들 수 있고, 이것이 가역이 되어 행렬식이 0이 아니다. (보다 큰 차수에서는 독립인 열이 부족하므로 항상 0이다.)

예시 1 (예시 1의 )

  • 3차 소행렬식(전체): 이므로 이다.
  • 2차 소행렬식 중 0이 아닌 것이 있는지 찾는다. 12행, 12열을 고르면
  • 따라서 로, 소거법으로 구한 결과와 같다.

예시 2 (예시 2의 , )

  • 의 3차 소행렬식은 열 3개를 고르는 4가지 경우이다. 이들이 모두 0이면 이다. (예: 1, 2, 3열을 고르면 2열이 1열의 2배이므로 0)
  • 2차 소행렬식 중 1~2행, 1·3열을 고르면
  • 따라서 이다.

언제 유용한가: 문자가 포함된 행렬

  • 소거법은 문자(매개변수)가 들어가면 0으로 나누는 경우를 나눠 따져야 해서 번거롭다. 정방행렬이라면 행렬식 하나로 랭크가 줄어드는 조건을 바로 찾을 수 있다.
  • 이면 이므로 이다.
  • 이면 이고 의 모든 성분이 1이므로 이다.

소거법과의 비교

소거법 (RREF)소행렬식
계산량적음 ()소행렬식 개수가 조합적으로 늘어나 매우 많음
구하는 값랭크, 피벗 위치, 기저까지랭크만
적합한 경우일반적인 수치 행렬작은 크기, 정방행렬, 문자가 포함된 행렬, 이론적 증명
  • 실제 계산에서는 거의 소거법을 쓰고, 소행렬식은 작은 행렬이거나 문자가 들어간 경우, 이론 전개에서 주로 쓴다.

랭크의 성질

행렬 에 대하여 다음이 성립한다.

    • 열이 개이므로 독립인 열은 최대 개, 행이 개이므로 독립인 행은 최대 개이다. 영행렬의 랭크는 0이다.
  1. (행 랭크 = 열 랭크)
  2. (영행렬)
  3. 풀랭크(Full Rank): 일 때 를 풀랭크라 한다.
    • (세로로 긴 행렬): 풀 열랭크는 (모든 열이 선형독립)
    • (가로로 긴 행렬): 풀 행랭크는 (모든 행이 선형독립)
    • 랭크가 보다 작으면 랭크 부족(rank-deficient) 이라 한다.
  4. 곱의 랭크:
    • 곱하면 랭크가 늘어나지 않는다. (정보가 새로 생기지는 않는다.)
  5. 가역행렬을 곱해도 랭크는 변하지 않는다.: 가 가역이면
    • SVD에서 의 0이 아닌 고유값의 개수가 의 랭크와 같은 이유이다.
  6. 랭크 1 행렬: 0이 아닌 두 벡터의 외적 는 랭크가 1이다. (모든 열이 의 상수배이므로)

정방행렬의 랭크와 가역성

  • 정방행렬 에 대하여 다음은 모두 동치이다.
    • (풀랭크)
    • 의 열벡터들이 선형독립이다. (행벡터들도 마찬가지)
    • 열벡터들이 의 기저이다.
    • 는 가역행렬이다. (2. 행렬 기본)
    • 이다. (6. 행렬식)
    • RREF가 단위행렬 이다.
    • 이 자명한 해 만 가진다.
  • 이 중 하나라도 성립하지 않으면 모두 성립하지 않는다. 예시 1의 행렬은 이므로 위 조건이 모두 거짓이다.

연립방정식과 랭크

  • 연립방정식 (는 )는 가 의 열벡터들의 일차결합으로 표현되는지를 묻는 문제이다. 즉, 일 때 해가 존재한다.
  • 확대행렬 (3. 연립방정식과 행렬)의 랭크와 비교하면 해의 존재와 유일성을 판단할 수 있다.
조건해의 상태
해가 없다 (불능)
유일한 해
무수히 많은 해 (부정)
  • 여기서 은 미지수의 개수이다. 해가 무수히 많을 때, 자유변수의 개수는 이다.

랭크-영차원 정리 (Rank-Nullity Theorem)

  • 동차 연립방정식 의 모든 해의 집합을 의 영공간(null space) 이라 하고 로 쓴다. 영공간은 의 부분공간이다.
  • 영공간의 차원을 영차원(nullity) 이라 한다.
  • 행렬 에 대하여 다음이 성립한다.
  • 의미: 입력 공간 의 차원 이 출력으로 살아남는 부분(rank) 과 0으로 찌그러지는 부분(nullity) 으로 나뉜다.
  • 이유: RREF에서 피벗이 있는 열의 개수가 rank이고, 피벗이 없는 열(자유변수)의 개수가 nullity이다. 둘을 합치면 전체 열의 수 이 된다.
  • 예시 2의 는 , 이므로 이다. (자유변수 )

다른 개념과의 관계

  • 선형독립과 기저: 랭크는 선형독립인 열(행)벡터의 최대 개수이며, 이는 열공간의 기저의 크기이다. → 7. 선형독립과 선형종속, 8. 기저와 차원
  • 고유값: 이 고유값이면 이 자명하지 않은 해를 가지므로 이다. → 11. 고유값과 고유벡터
  • 직교행렬: 직교행렬은 열벡터가 정규직교이므로 항상 풀랭크이다. → 10. 직교행렬
  • 특이값 분해: 0이 아닌 특이값의 개수가 이다. 큰 특이값 개의 항만 남기면 를 랭크 행렬로 근사(저랭크 근사)할 수 있다. → 12. 특이값 분해 (SVD)
- 각 항 $\sigma_i\mathbf{u}_i\mathbf{v}_i^T$는 랭크 1 행렬이고, 랭크 1 행렬 $r$개의 합은 랭크가 $r$ 이하이다.