선형대수 3.기본행연산

milkbuttercheese·2023년 1월 14일
0

AI를 위한 선형대수

목록 보기
4/14

3-1. 기본행연산/ 행렬의 랭크

1. 기본행연산elementaryrowoperationelementary\,\,row\,\,operation이란?

  • 조건
    - m×nAm\times n \,\,\boldsymbol{A}행렬에 대하여, 행에 적용하는 다음의 세 연산을 기본행연산이라 정의한다
  • 정의
    - Type1.Type1.\,\,A\boldsymbol{A}의 두 행의 위치를 교환하는 것
    - Type2.Type2.\,\,A\boldsymbol{A}의 한 행에 nonzeronon-zero 스칼라를 곱하는 것
    - Type3.Type3.\,\,A\boldsymbol{A}의 한 행에 다른 행의 스칼라배를 더하거나 빼는 것

1-1. 기본행렬 elementarymatrixelementary \,\,matrix

  • 정의
    - 항등행렬에 기본행연산을 적용하여 얻은 행렬이다
    - 그중에서도 특별히 Type1Type1 / Type2Type2/ Type3Type3 의 연산을 하여 얻은 행렬을 각각 1형/ 2형/3형 기본행렬이라 정의한다

이에 따라오는 성질

  • 조건
    - AMm×n(F)\boldsymbol{A}\in \boldsymbol{M}_{m\times n}(F)
    - B\boldsymbol{B}A\boldsymbol{A}에 기본행연산을 하여 얻은 행렬이다
  • 결과
    - B=EA\boldsymbol{B}=\boldsymbol{EA}가 되는 기본행렬 E\boldsymbol{E}가 존재한다
    - 행렬 E\boldsymbol{E}는 행렬A\boldsymbol{A}를 행렬B\boldsymbol{B}로 변환시킬 때 가했던 행연산을 항등행렬 Im\boldsymbol{I}_m에 가한것과 같다
  • 이에 따라오는 성질2
    - 결과
    - 기본행렬은 가역이다. 그 역행렬은 같은 종류의 기본행렬이다

2. 행렬의 랭크란?

선형변환의 랭크

  • 조건
    - 벡터공간 V,WV,W가 있고 선형변환 T:VWT:V\rightarrow W가 있다
  • 정의
    - N(T)={xV:T(x)=0}N(T)=\{x\in V:T(x)=0\} 을 영공간nullspacenull\,\,space/ kernalkernal 이라 부른다
    - R(T)={T(x):xV}R(T)=\{T(x):x\in V\}를 상공간 rangerange /imageimage 라 부른다
    - nullity(T)=dim(N(T))nullity(T)=dim(N(T))로 정의한다
    - rank(T)=dim(R(T))rank(T)=dim(R(T))로 정의한다

행렬의 랭크

  • 조건
    • 행렬 AMm×n(F)\boldsymbol{A}\in \boldsymbol{M}_{m\times n}(F)가 있다
  • 정의
    - 선형변환 LA:FnFmL_A:\boldsymbol{F}^n\rightarrow \boldsymbol{F}^m의 랭크를 행렬A{A}의 랭크라 정의하고 rank(A)rank(\boldsymbol{A})라 표기한다
  • 이에 따라오는 성질
    • 조건
      - 유한차원 공간 V,WV,W가 있고, 그에 대응되는 순서기저가 각각 β,γ\beta,\gamma라 하자
      - T:VWT:V\rightarrow W 선형변환이 있다고 가정하자
    • 결과
      - rank(T)=rank([T]βγ)rank(T)=rank([T]_{\beta}^{\gamma}) 이다
      - nullity(T)=nullity([T]βγ)nullity(T)=nullity([T]_{\beta}^{\gamma})
    • 증명
      - 조건
      • 벡터를 좌표벡터로 변환시키는 함수를 정의한다
      • ϕβ:VFn,ϕβ(x)=[x]β(xV)\phi_\beta: V\rightarrow F^n ,\,\,\phi_\beta(x)=[x]_\beta\,\,(x\in V)
      • ϕγ:WFm,ϕγ(y)=[y]γ(yW)\phi_\gamma:W\rightarrow F^m,\,\,\phi_\gamma(y)=[y]_\gamma\,\,(y\in W)
      • A=[T]βγ{A}=[T]_{\beta}^{\gamma}라고 하자
      • LAϕβ(V)=ϕγT(V)L_A\phi_\beta(V)=\phi_\gamma T(V) ([T(x)]γ=[T]βγ[x]β)( \,\,[T(x)]_\gamma=[T]_{\beta}^{\gamma}[x]_\beta)
      • LAϕβ(V)=LA(Fn)=R(LA)L_A\phi_\beta(V)=L_A(F^n)=R(L_A)
      • ϕγT(V)=ϕγR(T)\phi_\gamma T(V)=\phi_\gamma R(T)
      • dim(R(LA))=dim(ϕγR(T))dim(R(L_A))=dim(\phi_\gamma R(T))
      • ϕγ\phi_\gamma는 동형사상이므로 dim(ϕγR(T))=dim(R(T))=rank(T)dim(\phi_\gamma R(T))=dim(R(T))=rank(T)
        - rank(A)=rank([T]βγ)=rank(T)rank({A})=rank([T]_{\beta}^{\gamma})=rank(T)
        - dim(V)=dim(Fn)dim(V)=dim(F^n) , dim(W)=dim(Fm)dim(W)=dim(F^m) 으로 차원정리에 따라 nullity(T)=nullity([T]βγ)nullity(T)=nullity([T]_{\beta}^{\gamma})도 증명된다

2-1. 가역행렬을 곱했을 때의 랭크

  • 조건
    - m×nm\times n 행렬 A\boldsymbol{A} , m×mm\times m 가역행렬 P\boldsymbol{P} , n×nn\times n 가역행렬 Q\boldsymbol{Q}가 있다하자
  • 정리
    - rank(AQ)=rank(A)rank(\boldsymbol{AQ})=rank(\boldsymbol{A})
    - rank(PA)=rank(A)rank(\boldsymbol{PA})=rank(\boldsymbol{A})
    - rank(PAQ)=rank(A)rank(\boldsymbol{PAQ})=rank(\boldsymbol{A})
  • 증명
    - 가역행렬이면 전단사이다. 즉 LQ,LPL_Q,L_P는 전단사이다
    - R(LAQ)=R(LALQ)=LALQ(Fn)=LA(Fn)=R(LA)R(L_{AQ})=R(L_AL_Q)=L_AL_Q(F^n)=L_A(F^n)=R(L_A)
    - rank(AQ)=rank(A)rank(\boldsymbol{AQ})=rank(\boldsymbol{A})
    - 벡터공간 V,WV,W가 있고 동형사상(전단사) T:VWT:V\rightarrow W가 있다고 하자
    - 부분공간 V0VV_0\subseteq V가 있다고 하자
    - T:V0T(V0)T^\prime:V_0 \rightarrow T(V_0) ,T(x)=T(x)forxV0T^\prime(x)=T(x)\,\,for \,\,x\in V_0 라 정의하자 그러면 TT^\prime는 동형사상(전단사)이다.
    - 따라서 dim(V0)=dim(T(V0))dim(V_0)= dim(T(V_0))이다.
    - 1)과 2)의 결과를 합치면 3)의 결과가 성립된다
  • 행렬의 랭크 해석 : 일차독립인 열의 최대갯수

2-2. 행렬의 랭크를 확인하기: 기본행\cdot열연산을 이용해 특별한 꼴 만들기

  • 조건
    - 랭크가 rrm×nm\times n 행렬 A\boldsymbol{A}가 있다고 하자
  • 정리
    - rm,rnr \le m, r\le n 이다.
    - 기본행연산과 기본 열연산을 유한번 사용하여 A\boldsymbol{A}를 다음과 같은 꼴로 변형시킬 수 있다.
    - D=(IrO1O2O3)\boldsymbol{D}=\begin{pmatrix} \boldsymbol{I}_r &\boldsymbol{O}_1\\ \boldsymbol{O}_2&\boldsymbol{O}_3\end{pmatrix} O1,O2,O3\boldsymbol{O}_1,\boldsymbol{O}_2,\boldsymbol{O}_3는 영행렬

증명

  • case1.A=zeromatrixcase\,\,1.\,\,\boldsymbol{A}=zero-matrix
    • rank(A)=0rank(\boldsymbol{A})=0 |이는 정리에 부합하다
  • case2.AOcase\,\,2.\,\,\boldsymbol{A} \ne \boldsymbol{O} thenr=rank(A)>0then\,\,r=rank(\boldsymbol{A})>0
    - A\boldsymbol{A}의 행의 갯수 mm에 대한수학적 귀납법을 사용하도록 하자
    - m=1m=1 일때
    - 1형 기본열연산(열의 위치를 뒤바꾸는 것)과 2형 기본열연산(nonzeronon-zero 스칼라를 곱하는것)을 최대 한번씩 사용하는 것으로 1행 1열 성분을 1로 만들 수 있다.
    - (1a12a13...a1n)\begin{pmatrix} 1&a_{12}&a_{13}&...&a_{1n}\end{pmatrix}
    - 이후 3형 기본열연산을 최대 n1n-1번 사용하여 다음과 같은 꼴로 만들 수 있다
    - (100...0)\begin{pmatrix} 1&0&0&...&0 \end{pmatrix} | 이는 정리에 부합하다
    - m>1m>1 일때 m1m-1개의 행을 가지는 임의의 행렬에 대해 이 정리가 성립한다고 가정하자
    - mm개의 행을 가지는 임의의 행렬에서도 위 정리가 성립하는지 보이자
    - A0\boldsymbol{A}\ne \boldsymbol{0} 이므로 Aij0A_{ij}\ne0(i,j)(i,j)가 존재한다
    - 1형 기본행연산과 1형 기본열연산을 최대 한번씩 사용하여 1행 1열 위치에 nonzeronon-zero 성분이 오게 할 수 있다
    - 2형 기본연산을 적용하여 1행 1열 성분을 1로 만들 수 있다
    - 3행 행연산을 최대 m1m-1 3행 열연산을 n1n-1 적용시키면 1행과 1열에서 1행 1열 성분을 제외한 나머지 성분들은 모두 0 인 행렬을 만들 수 있고 모양은 다음과 같다
    • X=(10000B)X = \left(\begin{array}{ c | c } 1 & 0&\cdots&0 \\ \hline 0\\ \cdots \\0 &\boldsymbol{B}^\prime \end{array}\right)
      - 수학적 귀납법의 가정에 따라
      - rank(B)=r1rank(\boldsymbol{B}^\prime)=r-1이다
      - r1m1r-1 \le m-1 이고 r1n1r-1 \le n-1 이다
      - 즉 rmr\le m 이고 rnr\le n이다
      - B\boldsymbol{B}^\prime은 가정에 의해 기본행연산과 기본열연산을 유한번 적용하여 다음과 같은 행렬을 구할 수 있다
      - D=(Ir1O4O5O6)\boldsymbol{D}^\prime=\begin{pmatrix} \boldsymbol{I}_{r-1}& \boldsymbol{O}_4 \\ \boldsymbol{O}_5 & \boldsymbol{O}_6 \end{pmatrix}
      - X\boldsymbol{X} 내부의 B\boldsymbol{B}^\primeD\boldsymbol{D}^\prime으로 변환 가능하므로 종합하면 정리에 부합하는 형태로 변환시킬 수 있다.
  • 이에 따라오는 성질 1
    - 조건
    - 랭크 rrm×nm \times n 행렬 AA 가 존재한다고 하자
    - 정리
    - 다음을 만족하는 m×mm \times m 가역행렬 B\boldsymbol{B}n×nn \times n 가역행렬 C\boldsymbol{C} 가 존재한다
    - D=(IrO1O2O3)=BAC\boldsymbol{D}=\begin{pmatrix} \boldsymbol{I}_r & \boldsymbol{O}_1 \\ \boldsymbol{O}_2 &\boldsymbol{O}_3\end{pmatrix}=\boldsymbol{BAC}
  • 이에 따라오는 성질 2
    - 조건
    - m×nm\times n 행렬 A\boldsymbol{A}가 존재한다고 하자
    - 정리
    - rank(At)=rank(A)rank(\boldsymbol{A}^t)=rank(\boldsymbol{A})증명
    - 증명
    - D=BAC\boldsymbol{D}=\boldsymbol{BAC}Dt=(BAC)t=CtAtBt\boldsymbol{D}^t=(\boldsymbol{BAC})^t=\boldsymbol{C}^t\boldsymbol{A}^t\boldsymbol{B}^t
    - 행렬 M\boldsymbol{M} 이 가역이라면 (MM1)t=(M1)tMt=I(\boldsymbol{MM}^{-1})^t=(\boldsymbol{M}^{-1})^{t}\boldsymbol{M}^t=\boldsymbol{I}, 즉 전치행렬의 역행렬 (Mt)1=(M1)t(\boldsymbol{M}^t)^{-1}=(\boldsymbol{M}^{-1})^t 로 존재한다가역행렬이 어떤 행렬에 앞뒤에 곱해져도 랭크에 변화가 없다는 위의 정리를 사용하면 rank(At)=rank(D)=rank(A)rank(\boldsymbol{A}^t)=rank(\boldsymbol{D})=rank(\boldsymbol{A}) 가 성립된다

2-3. 선형변환 합성- 행렬곱의 랭크

  • 조건
    - 유한차원 벡터공간 V,W,ZV,W,Z가 있다고 하자
    - 선형변환 T:VW,U:WZT:V\rightarrow W,\,\,U:W\rightarrow Z 가 존재한다고 하자
    - 행렬곱이 정의되는 두 행렬 A\boldsymbol{A},B\boldsymbol{B} 가 존재한다고 하자
  • 정리
    - rank(UT)rank(U)rank(UT)\le rank(U)
    - rank(UT)rank(T)rank(UT)\le rank(T)
    - rank(AB)rank(A)rank(\boldsymbol{AB})\le rank{(\boldsymbol{A})}
    - rank(AB)rank(B)rank(\boldsymbol{AB}) \le rank(\boldsymbol{B})
  • 증명
    - 13421\rightarrow3\rightarrow4\rightarrow2 순으로 증명한다
    - R(UT)=UT(V)=U(T(V))=U(R(T))U(W)=R(U)R(UT)=UT(V)=U(T(V))=U(R(T))\subseteq U(W) =R(U)
    - rank(AB)=rank(LAB)=rank(LALB)rank(LA)=rank(A)rank(\boldsymbol{AB})=rank(L_{AB})=rank(L_AL_B)\le rank(L_A)=rank(\boldsymbol{A})
    - rank(AB)=rank((AB)t)=rank(BtAt)rank(Bt)=rank(B)rank(\boldsymbol{AB})=rank((\boldsymbol{AB})^t)=rank(\boldsymbol{B}^t\boldsymbol{A}^t)\le rank(\boldsymbol{B}^t)=rank(\boldsymbol{B})
    • 2의 조건
      - 벡터공간 V,W,ZV,W,Z가 있고 그 순서기저를 각각 α\alpha,β\beta,γ\gamma라 하자
      - A=[U]βγ\boldsymbol{A}^\prime=[U]_{\beta}^{\gamma} , B=[T]αβ\boldsymbol{B}^\prime=[T]_{\alpha}^{\beta} 라 하자.
      - 그러면 AB=[UT]αγ\boldsymbol{AB}^\prime=[UT]_{\alpha}^{\gamma} 이다.
      - rank(T)=rank([T]βγ)rank(T)=rank([T]_{\beta}^{\gamma}) 정리와 rank(AB)rank(B)rank(\boldsymbol{AB}) \le rank(\boldsymbol{B}) 정리를 활용하면
      - rank(UT)=rank(AB)rank(B)=rank(T)rank(UT)=rank(\boldsymbol{A}^\prime\boldsymbol{B}^\prime)\le rank(\boldsymbol{B}^\prime)=rank(T)
profile
안녕하세요!

0개의 댓글