Difference between revisions of "Definition:행렬의 rank와 nullity"

From Beloveds
Line 39: Line 39:
 
이면 Ax=0의 해가 무수히 많기 때문에 wx=vAx=0의 해 또한 무수히 많고, 일차 결합이 0이면서 모든 계수가 0이 아닌 경우를 찾을 수 있다. 이 수 n=m을 공간의 '''dimension'''(차원)이라고 한다. 모든 행과 열에 pivot은 없거나 하나씩만 있으므로 A의 행 공간과 열 공간의 차원은 \rank A로 같다. A의 kernel의 차원은 nullity m-r, cokernel의 차원은 n-r이다.
 
n<m이면 Ax=0의 해가 무수히 많기 때문에 wx=vAx=0의 해 또한 무수히 많고, 일차 결합이 0이면서 모든 계수가 0이 아닌 경우를 찾을 수 있다. 이 수 n=m을 공간의 '''dimension'''(차원)이라고 한다. 모든 행과 열에 pivot은 없거나 하나씩만 있으므로 A의 행 공간과 열 공간의 차원은 \rank A로 같다. A의 kernel의 차원은 nullity m-r, cokernel의 차원은 n-r이다.
  
n\times m 행렬의 열 공간이, 부분 공간으로서 속한 벡터 공간 전체를 생성하면 해가 하나 이상이다. 그러면 m개의 벡터들 가운데 적어도 n개의 벡터가 일차 독립이며 \rank A=n이 되어 row가 독립이 되고, right inverse가 존재하여 A(A^{-1}b)=b이다. column이 독립이면 Ax_1=Ax_2=b에서 A(x_1-x_2)=0x_1-x_2=0이므로 Ax=b의 해가 하나 이하이고, left inverse가 존재하여 A^{-1}Ax=A^{-1}b이다. A^{-1}bA의 left null space의 성분을 b에서 제거하여 A의 row space로 보내므로 A(A^{-1}b)bA의 column space로 보낸다. 연립일차방정식의 해에 관한 사실을 정리하면 다음과 같다:
+
n\times m 행렬 A열 공간이, 부분 공간으로서 속한 벡터 공간 전체를 생성하면 해가 하나 이상이다. 그러면 m개의 벡터들 가운데 적어도 n개의 벡터가 일차 독립이며 \rank A=n이 되어 row가 독립이 되고, right inverse가 존재하여 A(A^{-1}b)=b이다. column이 독립이면 Ax_1=Ax_2=b에서 A(x_1-x_2)=0x_1-x_2=0이므로 Ax=b의 해가 하나 이하이고, left inverse가 존재하여 A^{-1}Ax=A^{-1}b이다. A^{-1}bA의 left null space의 성분을 b에서 제거하여 A의 row space로 보내므로 A(A^{-1}b)bA의 column space의 가장 가까운 원소로 보낸다. 연립일차방정식 Ax=b해에 관한 사실을 정리하면 다음과 같다:
 
* n\times m 행렬이 있으면 식이 n개이고 미지수가 m개인 연립일차방정식을 뜻한다. \rank A=n=m이면 단 하나의 해가 있다.
 
* n\times m 행렬이 있으면 식이 n개이고 미지수가 m개인 연립일차방정식을 뜻한다. \rank A=n=m이면 단 하나의 해가 있다.
* \rank A=n<m이면 독립인 식보다 미지수가 더 많으므로 해가 무수히 많다. 즉 row space가 독립이고 A의 null space는 zero가 아닌데 left null space는 zero이므로 AA^Tx=b의 해가 하나 이상이다.
+
* \rank A=n<m이면 독립인 식보다 미지수가 더 많으므로 해가 무수히 많다. 즉 Arow space가 독립이고 A의 null space는 zero가 아닌데 left null space는 zero이므로 AA^Tx=b의 해가 유일하게 존재한다.
* \rank A=m<n이면 독립인 식만큼 미지수가 있고 식이 더 많으므로 b에 따라서 해가 없거나 하나만 있다. 즉 column space가 독립이고 A의 null space는 zero인데 left null space는 zero가 아니므로 A^TAx=b의 해가 하나 이상이다.
+
* \rank A=m<n이면 독립인 식만큼 미지수가 있고 식이 더 많으므로 b에 따라서 해가 없거나 하나만 있다. 즉 Acolumn space가 독립이고 A의 null space는 zero인데 left null space는 zero가 아니므로 A^TAx=b의 해가 유일하게 존재한다.
 
* \rank A<n,\ \rank A<m이면 b에 따라서 해가 없거나 무수히 많다. 이는 정사각 행렬에서 pivot에 0이 등장하는 경우가 해당한다.
 
* \rank A<n,\ \rank A<m이면 b에 따라서 해가 없거나 무수히 많다. 이는 정사각 행렬에서 pivot에 0이 등장하는 경우가 해당한다.
  

Revision as of 22:43, 27 January 2023

퇴화 공간

A가 singular가 아니면 역행렬 A^{-1}을 곱할 수 있으므로 Ax=0의 원소는 0뿐이며, 모든 b에 대해서 Ax=b의 해가 존재한다. 이는 가우스 소거법에서 알 수 있는 결과이다. 그러나 A가 singular이거나 n\times m인 직사각 행렬일 때는 Ax=0의 원소가 무수히 많은 경우가 흔한 일이다. 또한 이 경우에 해들은 벡터 공간을 이룬다는 사실을 관찰할 수 있다. 행렬 A에 대해서 Ax=0의 해들을 모은 것을 Anull space(영 공간, 퇴화 공간) 또는 kernel(핵)이라고 한다. 벡터 표현을 열벡터로 고정할 때 x^TA=0^T의 해들을 모은 것을 Aleft null space 또는 cokernel(여핵)이라고 한다. 이는 A^Tx=0의 해들을 모은 것과 같으므로 A^T의 null space이다.

A가 singular이고 무수히 많은 해를 가질 때에 모든 해를 구하는 방법은 A를 독립인 부분과 종속인 부분으로 나누어 독립인 부분의 해가 유일하고 종속인 부분의 해가 Ax=0이라는 사실을 이용하는 것이다. 예를 들어 연립일차방정식 \begin{pmatrix}1 & 2 \\ 4 & 8\end{pmatrix}\begin{pmatrix}x_1\\ x_2\end{pmatrix}=\begin{pmatrix}4\\ 16\end{pmatrix}은 무수히 많은 해들 가운데 (1,\ 3/2)particular solution으로 잡은 다음 x_1+2x_2=0가 null space를 이루므로 그 원소들 (2c,\ -c)을 더하여 (1+2c,\ 3/2-c)complete solution으로 삼을 수 있다.

이 과정을 보다 체계화하여 모든 행렬에 적용하기 위해서 직사각 행렬의 Gaussian elimination을 생각할 수 있다.

모든 pivot이 각 행의 첫 번째 성분이 되게 하고, 모든 pivot의 왼쪽과 아래쪽은 모두 0이 되게 소거법을 쓴다.

위와 같이 소거한 행렬을 Aechelon form(사다리 꼴)이라고 한다. 또한 Gauss–Jordan elimination을 생각할 수 있다.

모든 pivot의 위쪽을 모두 0이 되게 하고, 모든 pivot이 1이 되게 소거법을 쓴다.

위와 같이 소거한 행렬을 Areduced row echelon form, RREF(기약 행 사다리 꼴)라고 한다. 이는 row canonical form이 되는 유일한 행렬이다. pivot이 없는 열의 성분은 RREF로 소거되지 않는다. RREF에서 pivot이 있는 열에 대응하는 변수 x_ipivot variable이라고 한다. pivot이 없는 열에 대응하는 변수 x_jfree variable(자유 변수)이다.

행렬 A에 대해서 RREF의 pivot variable의 개수를 Arank(계수)라 하고 \rank A로 쓴다. free variable의 개수는 Anullity라 한다. A의 rank가 r이고 nullity가 m-r이면 Ax=b의 모든 해는, 모든 자유 변수들을 0으로 놓아 particular solution x_r을 구한 것에, 자유 변수 c_i1로 놓아 A의 null space의 벡터 v_i를 구하여 c_iv_i들을 더한 것이다. 식으로 나타내면 x=x_r+c_1v_1+c_2v_2+\cdots+c_{m-r}v_{m-r}이다. 예를 들어 Ax=b의 RREF가

\displaystyle \begin{bmatrix} 1 & a_{12} & 0 & a_{14} \\ 0 & 0 & 1 & a_{24} \\ 0 & 0 & 0 & 0\end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \\ x_4\end{bmatrix}=\begin{bmatrix} b_1 \\ b_2 \\ 0 \end{bmatrix}

일 때 x_2=x_4=0이면 유일한 해 \begin{pmatrix} b_1 & 0 & b_2 & 0 \end{pmatrix}^Ta_{12},\ a_{14},\ a_{24}에 관계없이 존재한다. 이 해에 Ax=0의 해를 더해도 해이다. x_2x_4가 정해지면 Ax=0의 유일한 해를 얻을 수 있다. \begin{pmatrix} z_1 & 1 & z_2 & 0 \end{pmatrix}^TAx=0의 해이고 \begin{pmatrix} z_3 & 0 & z_4 & 1 \end{pmatrix}^TAx=0의 해이면 상수 c_1,\ c_2에 대해서 \begin{pmatrix} c_1z_1+c_2z_3 & c_1 & c_1z_2+c_2z_4 & c_2 \end{pmatrix}^TAx=0의 해이다. 따라서 c_1\begin{pmatrix} -a_{12} & 1 & 0 & 0 \end{pmatrix}^T+c_2\begin{pmatrix} -a_{14} & 0 & -a_{24} & 1 \end{pmatrix}^TAx=0의 모든 해이다.

열 공간

행렬 An개의 행을 [A]_1,\ [A]_2,\ \cdots,\ [A]_n, m개의 열을 [A]^1,\ [A]^2,\ \cdots,\ [A]^m와 같이 쓰겠다. 그렇다면 연립일차방정식

\displaystyle \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23}\end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3\end{bmatrix}=\begin{bmatrix} b_1 \\ b_2 \end{bmatrix} \iff \begin{bmatrix} a_{11}x_1+a_{12}x_2+a_{13}x_3 \\ a_{21}x_1+a_{22}x_2+a_{23}x_3\end{bmatrix}=\begin{bmatrix} b_1 \\ b_2 \end{bmatrix}

x_1[A]^1+x_2[A]^2+x_3[A]^3=[b]^1로 쓸 수 있다. 좌변과 같은 linear combination들을 모은 것은 벡터 공간을 이루며 Acolumn space(열 공간)이라고 한다. 마찬가지로 A^T의 열 공간을 Arow space(행 공간)라고 한다. 유의해야 할 점은 벡터 또는 행렬이 A인지 A^T인지는 A가 어디 있는지에 대해서 알려 주지 않는다는 것이다.

  • 행렬 A를 함수 y=Ax처럼 생각할 수 있다. 예를 들어 A:\R^m\to \R^n이면 Ax=b의 해가 존재한다는 것은 \R^n의 부분 공간인 A의 열 공간의 원소 Ax들 중에서 b와 일치하는 것이 있다는 뜻이다.
  • A^T:\R^n\to \R^mX=A^T로 볼 때, Ax_0=b_0라는 것은 같은 x_0,\ b_0에 대해서 x^T_0X=b^T_0라는 뜻이다. 이는 X=A^T의 행 공간의 원소 x^T_0Xb^T_0와 일치한다는 뜻이다.
  • 행렬 A를 다른 함수 y=xA처럼 생각할 수 있다. 예를 들어 A':\R^n\to \R^m이면 xA=b의 해가 존재한다는 것은 \R^m의 부분 공간인 A의 행 공간의 원소 xA들 중에서 b와 일치하는 것이 있다는 뜻이다. A'A^T로 볼 수 있으며, 같은 x_0,\ b_0에 대해서 A^Tx^T=b^T이다.
  • A인지 A^T인지, 열 공간에 있는지, 열벡터인지는 서로 무관할 수 있다. A의 열 공간을 A^T의 행 공간으로 바꾸어서 서술할 때 새로운 정보를 얻을 수 없어야 한다. x가 열벡터이면 x^T는 행벡터이고 x가 행벡터이면 x^T는 열벡터이다. x가 열벡터이면 Ax처럼 곱해지고 x가 행벡터이면 xA처럼 곱해진다. 열 공간에 있는 벡터는 차원만 맞으면 열벡터일 수도 행벡터일 수도 있지만, 보통은 열 공간이든 행 공간이든 열벡터를 원소로 가지는 것으로 정해져 있다. 벡터 표현을 열벡터로 고정할 때, x는 열벡터이고 x^T는 행벡터이고, 열 공간이든 행 공간이든 x를 원소로 가진다.

행렬 A가 함수 A:\R^m\to \R^n,\ x\mapsto Ax로 주어지면 \R^m의 부분 공간 row space \{(xA)^T\mid x^T\in \R^n\}, null space \{x\in \R^m\mid Ax=0\}\R^n의 부분 공간 column space \{Ax\mid x\in \R^m\}, left null space \{x^T\in \R^n\mid xA=0^T\}를 정의할 수 있다. 네 가지 공간은 어느 하나가 다른 것에 종속되지 않고 동등하게 쓰인다.

벡터 공간의 차원

벡터들의 일차 결합이 0인 경우가 모든 계수가 0인 경우밖에 없을 때 벡터들은 linear independent(일차 독립)라고 한다. A의 echelon form에서 0이 아닌 행들은 독립이고, pivot이 있는 열들은 독립이다. 독립인 벡터들의 일차 결합으로 공간의 모든 벡터를 유도할 수 있으면 벡터들이 공간의 basis(기저)라고 한다.

동일한 벡터 공간의 유한한 두 기저에 들어 있는 벡터의 개수는 일정하다. 예를 들어 v_1,\ \cdots,\ v_nw_1,\ \cdots,\ w_m이 동일한 벡터 공간의 두 기저이고 n<m이라고 가정하겠다. v_i는 기저이므로 w_1v_i들로 나타낼 수 있는데, 0은 linear independent가 될 수 없기 때문에 v_i의 계수들 중에 0이 아닌 것이 적어도 하나가 있다. 그것을 v_k라 하면 v_kw_1과 나머지 v_i들로 나타낼 수 있고, 따라서 w_1v_k가 없는 나머지 v_i들의 일차 결합으로 공간의 모든 벡터를 유도할 수 있다. w_i가 기저이므로 각 w_i를 나머지 w_i로 나타낼 수 있어서는 안 되기 때문에 모든 w_i에 대해서 차례로 이 과정을 반복할 수 있고, v_i를 모두 n개의 w_i로 나타낼 수 있다. n개의 w_i가 기저를 이루었고 n<m이면 나머지 w_i들은 이들로 나타낼 수 있어야 한다. 따라서 linear independent가 되려면 n=m이어야 한다. 위 과정을 행렬로 쓰면 다음과 같다:

\displaystyle \begin{bmatrix} w_1 & w_2 & \cdots & w_m\end{bmatrix}= \begin{bmatrix} v_1 & v_2 & \cdots & v_n\end{bmatrix}\begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1m} \\ a_{21} & a_{22} & \cdots & a_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nm} \end{bmatrix}

n<m이면 Ax=0의 해가 무수히 많기 때문에 wx=vAx=0의 해 또한 무수히 많고, 일차 결합이 0이면서 모든 계수가 0이 아닌 경우를 찾을 수 있다. 이 수 n=m을 공간의 dimension(차원)이라고 한다. 모든 행과 열에 pivot은 없거나 하나씩만 있으므로 A의 행 공간과 열 공간의 차원은 \rank A로 같다. A의 kernel의 차원은 nullity m-r, cokernel의 차원은 n-r이다.

n\times m 행렬 A의 열 공간이, 부분 공간으로서 속한 벡터 공간 전체를 생성하면 해가 하나 이상이다. 그러면 m개의 벡터들 가운데 적어도 n개의 벡터가 일차 독립이며 \rank A=n이 되어 row가 독립이 되고, right inverse가 존재하여 A(A^{-1}b)=b이다. column이 독립이면 Ax_1=Ax_2=b에서 A(x_1-x_2)=0x_1-x_2=0이므로 Ax=b의 해가 하나 이하이고, left inverse가 존재하여 A^{-1}Ax=A^{-1}b이다. A^{-1}bA의 left null space의 성분을 b에서 제거하여 A의 row space로 보내므로 A(A^{-1}b)bA의 column space의 가장 가까운 원소로 보낸다. 연립일차방정식 Ax=b의 해에 관한 사실을 정리하면 다음과 같다:

  • n\times m 행렬이 있으면 식이 n개이고 미지수가 m개인 연립일차방정식을 뜻한다. \rank A=n=m이면 단 하나의 해가 있다.
  • \rank A=n<m이면 독립인 식보다 미지수가 더 많으므로 해가 무수히 많다. 즉 A의 row space가 독립이고 A의 null space는 zero가 아닌데 left null space는 zero이므로 AA^Tx=b의 해가 유일하게 존재한다.
  • \rank A=m<n이면 독립인 식만큼 미지수가 있고 식이 더 많으므로 b에 따라서 해가 없거나 하나만 있다. 즉 A의 column space가 독립이고 A의 null space는 zero인데 left null space는 zero가 아니므로 A^TAx=b의 해가 유일하게 존재한다.
  • \rank A<n,\ \rank A<m이면 b에 따라서 해가 없거나 무수히 많다. 이는 정사각 행렬에서 pivot에 0이 등장하는 경우가 해당한다.

회로의 그래프

행이 e개의 edge에 대응하고 열이 v개의 vertex 또는 node에 대응하도록 e\times v 행렬 A를 만들면 이는 그래프를 묘사한다. digraph인 경우에, edge [A]_i가 vertex [A]^j에서 vertex [A]^k로 갈 때 A_{ij}=-1,\ A_{ik}=1로 쓴 것을 그래프의 incidence matrix라고 한다. 전선의 연결 상태와 전지, 전류원이 주어진 회로, 더 나아가 저항이 주어진 회로를 그래프의 행렬로 표현하면 전지와 전류원, 저항의 세기가 주어졌을 때 각 꼭짓점의 전위와 각 edge의 전류를 행렬 계산으로 구할 수 있다.

회로의 연결 상태를 incidence matrix로 나타내면 연립일차방정식 Ax=b을 구성하고 vertex x와 edge b에 원하는 수를 대응시킬 수 있다. 회로를 digraph로 생각하고 값을 주었다면 be개의 값은 해당 edge가 도착하는 꼭짓점의 값에서 해당 edge가 출발하는 꼭짓점의 값을 뺀 것이다. 따라서 xb에 전위와 전위차를 대응시키면 각 edge에 놓여 있는 전지에 의한 전위차를 b에 할당할 수 있다. 이때 상수 c에 대해서 (c,\ c,\ \cdots,\ c)들이 Ax=0의 모든 해이므로 A는 1차원의 퇴화 공간을 가진다. 따라서 하나의 전위를 미리 고정시켜야 한다.

마찬가지로 연립일차방정식 A^Tx'=b'를 구성하고 edge x'와 vertex b'에 원하는 수를 대응시킬 수 있다. 이때 b'v개의 값은 해당 꼭짓점에 도착하는 각 edge들의 값의 합에서 해당 꼭짓점에서 출발하는 각 edge들의 값의 합을 뺀 것이다. 따라서 x'b'에 전류와 알짜 전류를 대응시키면 각 vertex 사이에 놓여 있는 전류원에 의한 전류를 출발하는 꼭짓점에 양수로, 도착하는 꼭짓점에 음수로 b'에 할당할 수 있다. 이때 전류원만 있는 edge는 무시할 수 있다.

Ax=b의 해가 존재한다는 것은 bA의 열 공간의 원소라는 뜻이다. 그러한 x가 정해져 있으면 A의 각 행이 b_i를 결정하는데, 서로 연결된 edge들이 출발한 꼭짓점에 다시 도착하는 loop를 형성할 때 loop를 구성하는 각 행들을 더하면 0이 된다. 이때 -1을 곱하여 방향을 바꿀 수 있으므로 방향에 무관하게 loop를 구성할 수 있으면 독립이 아닌 행들을 얻을 수 있다. 따라서 be개의 값이 이들 loop에 대해서 0을 만들 때 연립일차방정식 Ax=b의 해가 존재할 수 있다. 이를 Kirchhoff's voltage law(키르히호프의 전압 법칙)라고 한다.

A^Tx'=b'의 각 edge x'_i는 각 행에 대응하므로 각 loop에 대해서 0이 되도록 1,\ -1,\ 0을 할당한 벡터 x'들은 A^Tx'=0의 해이다. 따라서 독립인 loop들은 A의 left null space의 기저가 되고, A의 열 공간에 속하는 b에 대해서 x'^Tb=0을 얻을 수 있다. 또한 A의 각 행을 모두 더하면 0이므로 Ax=0의 모든 해 x=(c,\ c,\ \cdots,\ c)에 대해서 b'A의 행 공간에 속한 column vector이면 b'^Tx=0을 얻을 수 있다. A의 열 공간에서와 마찬가지로 A^Tx'=b'의 해가 존재한다는 것은 b'A의 행 공간의 원소라는 뜻이다. 따라서 b'의 모든 성분의 합은 0이며, 이를 Kirchhoff's current law(키르히호프의 전류 법칙)라고 한다.

loop를 구성하지 않는 edge들은 A의 행 공간의 기저이다. A가 connected graph일 때, 소거법을 써서 0이 아닌 모든 행을 독립으로 만들면 모든 loop가 사라진 spanning tree(신장 트리)이다. 또한 rank가 v-1이므로 독립인 loop의 개수는 e-(v-1)이고, 따라서 dimension 0 - dimension 1 + dimension 2 = 1을 얻을 수 있다. 이는 Euler characteristic(오일러 지표)에 해당한다.

그래프에 e\times e인 대각 행렬 C를 붙인 것을 network라고 한다. 각 edge에 저항에 해당하는 conductance를 붙이면 network이다. 이는 각 edge의 전류를 전도도와 전압의 곱으로 구하는 Ohm's law(옴의 법칙)를 도입하기 위해서이다. 전류는 A^Tx'=b의 해 x'이고 전압은 전지에 의한 전위차를 제거한 b-Ax이다. 그러면 다음은 저항이 주어진 회로의 전류와 전위를 결정한다:

\begin{cases} C^{-1}x'+Ax=b \\ A^Tx'=b'\end{cases} \iff \begin{bmatrix}C^{-1} & A \\ A^T & 0\end{bmatrix}\begin{bmatrix}x' \\ x\end{bmatrix}=\begin{bmatrix}b \\ b'\end{bmatrix}

첫 번째 방정식의 앞에 A^TC를 곱하여 두 번째 방정식에서 빼면 두 번째 방정식은 A^TCAx=A^TCb-b'이다. 하나의 전위를 고정시켜 Ae\times (v-1) 행렬로 만들면 정사각 대칭 행렬 A^TCA의 역행렬이 존재하고,[1] 따라서 해 x',\ x를 구할 수 있다.

참고 자료

  • Gilbert Strang. Linear Algebra and Its Applications.