本記事の内容
本記事は行列のランクについて解説する記事です。
本記事を読むにあたり、線型空間、および線型写像について知っている必要があるため、以下の記事も合わせてご覧ください。
↓線型空間の記事
↓線型写像の記事
本記事を読む前に
今回のランクの話は、主な対象が行列ですので、”行列編”ということになっていますが、線型空間の話、特に線型空間の次元の話を知っている必要があります。
そういう意味では、【線型代数学の基礎シリーズ】線型空間編 その3をご覧いただいた後に、読んでいただきたい記事となっています。
線型写像の厳密な話
以前の記事で、線型写像について説明しましたが、それはあくまでRmからRnへの線型写像の話でした。
実は、線型写像というのは一般の線型空間から線型空間への写像として定められます。
RmおよびRnは線型空間の最たる例だった、という話です。
では、一般の線型空間における線型写像を説明します。
とか言っときながら、実は本当の意味で一般の線型写像を定めるには体(たい、英:field)という代数系について知っている必要があります。
しかし、本ブログでは(今の所)体については述べないので、R上の線型空間における線型写像について解説します。
R上の線型空間に対する線型写像
線型写像
VおよびWをR上の線型空間とする。VからWへの写像f:V→Wが線型写像(a linear map)であるとは、次の1.および2.を満たすときを言う。- f(x+y)=f(x)+f(y)(x,y∈X)
- f(λx)=λf(x)(λ∈R,x∈V)
以前の記事でも述べましたが、線型写像が満たすべき2条件の等式の左辺の+と右辺の+は違います。
スカラー倍についても同じです。
これについての説明は【線型代数学の基礎シリーズ】行列編 その5を御覧ください。
像空間と核空間
線型写像の像と核(後で説明します)について、学んでおきましょう。
線型写像は写像なので、像を考えることができます。
線型写像の像は線型空間になっていて、より詳しく言うと、
ということです。
像空間と核空間
V、Wを線型空間、f:V→Wを線型写像とする。このとき f(V)=Image(f)=Im(f)={f(x)|x∈V} をfの像空間という。また、 Ker(f)={x∈V|f(x)=0} をfの核空間という。要するに、核空間というのは、線型写像によって線型空間の和の単位元に対応するような定義域の要素のことを指します。
先に述べたとおり、像空間と核空間はそれぞれ線型空間です。
つまり、以下が成り立ちます。
定理1.
fを線型空間VからWへの線型写像とする。このとき、以下が成り立つ。- fの像空間Image(f)はWの部分空間である。
- fの核空間Ker(f)はVの部分空間である。
定理1.の証明
この定理を証明するにあたって、すなわち部分空間であるということを証明するにあたって、以下の事実を使います。
定理2.(部分空間の必要十分条件)
線型空間Vの部分集合Wが部分空間であるための必要十分条件は次の3条件が成り立つことである。- W≠∅(∅は空集合)
- 任意のa,b∈Wおよび任意のc,d∈Rに対して、ca+db∈W
この定理2.の証明は【線型代数学の基礎シリーズ】線型空間編 その1を御覧ください。
(1.の証明)
Vは線型空間なので0∈Vです。
さらに、fは線型写像なので、任意のx,y∈Vに対して、f(x+y)=f(x)+f(y)が成り立つので、x=y=0としてもOKです。
従って、
f(0+0)=f(0)=0∈Image(f)
となり、Image(f)は空集合ではありません。
また、任意のλ,μ∈Rと任意のf(x),f(y)∈Image(f)に対して、fが線型写像だから
λf(x)+μf(y)=f(λx+μy)∈Image(f)
となるので、Image(f)はWの部分空間です。
(2.の証明)
fは線型写像ですので、1.と同様にf(0)=0ですから、0∈Ker(f)です。
従って、Ker(f)≠∅です。
また、任意のλ,μ∈Rと任意のx,y∈Ker(f)に対して、fが線型写像だから
f(λx+μy)=λf(x)+μf(y)=λ0+μ0
となってλx+μy∈Ker(f)となるので、Ker(f)はVの部分空間です。
定理1.の証明終わり
行列のランク①(像空間からのアプローチ)
行列のランクというのは一見シンプルですが、ランクが持つ情報量は実は多かったりします。
ランクを一言で
ランクを一言でいうと、
です。
「そんなんに何の意味があるんだ?」と思うかもしれませんが、実はランクの数と線型空間の次元が関わっていたりするんですね。
前回の記事で線型空間の次元について解説しましたが、「じゃあどうやって求めんのよ?」というところまでは踏み込んでませんでした。
実はこのランクが次元とか変わっているおかげで線型空間の次元を把握しやすくなります。
ランクの定め方は色々あるんですが、個人的に「写像の言葉で書かれていてわかりやすいなあ」と思うものを説明します。
で、ランクって何よ?(ランクの定め方①)
ランク
m,n∈N、A=(aij)を(m,n)型の行列とする。このとき、Aが定める線型写像 A:Rn→Rm の像空間Image(A)の次元のことをAのランク(rank)、あるいは階数といい、rank(A)で表す。すなわち、 rank(A)=dim(Image(A)) である。【線型代数学の基礎シリーズ】行列編 その5で述べたとおり、行列は線型写像で表現でき、逆に線型写像も行列で表現できるのでした。
「これがどうして行列の階段の数と対応するんだ?」と思うかもしれませんが、その説明については次回解説します。
ランクのちょっとした性質
ランクのちょっとした性質をお話します。
定理3.
m,n∈N、A=(aij)を(m,n)型の行列とし、a′1,a′2,…,a′nをAの列ベクトルとする。このとき、 rank(A)=dim(S[a′1,a′2,…,a′n]) である。これがランクと線型空間の次元の関係性をあらわしている事実の1つです。
定理3.の証明
Rnの任意のベクトルxをx=(x1⋮xn)と書いたとします。
このとき、線型写像Aによる像Axは
Ax=x1a′1+⋯+xna′n
となるので、Image(A)=S[a′1,…,a′n]が成り立ちます。
従って、
rank(A)=dim(Image(A))=dim(S[a′1,…,a′n])
です。
定理3.の証明終わり
一旦計算してみっか
してみましょう。
例4.
(1−10022134)
のランクを計算してみます。
列ベクトルを順にa′1,a′2,a′3とします。
このときc1a′1+c2a′2+c3a′3=0とすると、第2成分を比較して、c2=0となり、c1a′1=0において第1成分を見ることによって、c1=0となります。
従って、a′1,a′2は線型独立です。
また、a′3=a′1+a′2ですので、結局
S[a′1,a′2,a′3]=S[a′1,a′2]
となり、dim(S[a′1,a′2,a′3])=2です。
ランクは2です。
行列のランク②(小行列によるアプローチ)
ランクの定め方として、別の方法もあります。
それが小行列と呼ばれるものです。
小行列って?
小行列は「行列の一部からなる行列」のことです。
小行列
m,n∈Nとし、A=(aij)を(m,n)型の行列とする。このとき、第i1,i2,…,ir行(i1<i2<⋯<ir)と第j1,j2,…,js行(j1<j2<⋯<js)の交わるところにある成分、すなわち j1 j2⋯ js↓ ↓ ↓(a11⋯⋯⋯⋯⋯⋯⋯a1n◯◯◯⋮◯◯◯⋮⋮⋮⋮⋮⋮◯◯◯am1⋯⋯⋯⋯⋯⋯⋯amn)←i1行目←i2行目⋮←ir行目 を取り出して作った(r,s)型の行列 (ai1j1ai1j2⋯ai1jsai2i1ai2j2⋯ai2js⋮⋮⋱⋮airj1airj2⋯airjn) を A(i1i2⋯irj1j2⋯jr) で表し、Aの小行列という。特に、r=sのとき、これをAのr次の小行列という。その時の行列式 |A(i1i2⋯irj1j2⋯jr)| をAのr次の小行列式という。まさに、「行列の一部からなる行列」ということです。
この準備を元にして、ランクを別の定め方で表現してみます。
ランク(小行列によるランク)
行列Aにおいて、r次の小行列式の中には0でないものがあり、r+1以上の小行列式はすべて0であるとき、このrをAのランクといい、rank(A)で表す。ただし、零行列Oのランクは0と定める。
ランクの考え方を理解する上で基本的な事実(証明は読み飛ばしてOK)
本当は、以前導入した像空間からのアプローチのランクと、小行列からのアプローチのランクとが一致することを証明する必要があるのですが、本ブログでは省きます。
(※「証明が欲しい!」という方はコメントを下さい。)
そして、この節で紹介する事実は証明が結構長くなってしまいますので、結果を認めて先に進んでいただいて結構です。
定理5.
(m,n)型行列Aのn個の列ベクトルが線型独立であるための必要十分条件は、Aのn次の小行列式で値が0でないものが存在することである。定理5.の証明(読み飛ばしてOK)
①「列ベクトルが線型独立ならば小行列式が0でない小行列が存在する。」の証明
行列A=(aij)のn個の列ベクトルが線型独立だとします。
このとき、次の事実を使います。
定理6.
r<sとする。線型空間のs個のベクトルb1,b2,…,bsがすべてr個のベクトルa1,a2,…,arの線型結合で書かれれば、b1,b2,…,bsは線型従属である。定理6.の証明は【線型代数学の基礎シリーズ】線型空間編 その3を御覧ください。
定理6. からm≥nです。

今、Aの行ベクトルの中から選ぶ事ができる線型独立なベクトルの最大個数をrとします。
すると、再度定理6.からr≤nです。
r=nを示しましょう。
仮に、r<nとして矛盾を導きます(背理法!)。

線型独立な行ベクトルの最大個数を与える行ベクトルを簡単のため、最初のa1,…,arとします。
このとき、r<s≤mとなるような任意のsに対して、a1,…,ar,asは線型従属です。
このとき、次の事実を使います。
定理7.
Vを線型空間とする。a1,a2,…,arが線型独立で、a1,a2,…,ar,aが線型従属であれば、aはa1,a2,…,arの線型結合として一意的に表される。定理7.の証明は【線型代数学の基礎シリーズ】線型空間編 その2を御覧ください。
このとき、定理7.からasはa1,…,arの線型結合で書くことができます。

すなわち、
as=r∑i=1αiai(r<s≤m)
です。
成分で言えば、
asj=r∑i=1αiaij
が任意の1≤j≤nに対して成り立つ、ということです。
一方で、行列A=(aij)の列ベクトルa′1,…,a′rは項数がm個のベクトルですが、これからr+1番目以降の成分を取り除いて得られる項数がr個のベクトルをa′r1,…,a′rrとします。
すなわち、
a′rj=(a1j⋮arj)(1≤j≤n)
です。
仮定から、r<nなのですから、再度定理6.からこれらは線型従属です。
すなわち、
n∑j=1βja′rj=0
で、βj≠0という1≤j≤nが存在するということになります。
この関係式を成分で書くと、
n∑j=1βjaij=0
が成り立つ、ということです。

この関係がr<s≤mを満たす任意のsに対しても成り立つこと、すなわち、∑nj=1βjasj=0を示します。
r<s≤mを満たす任意のsに対しては、先程示したようにasj=r∑i=1αiaijがすべての1≤j≤nに対して成り立っているので、
n∑j=1βjasj=n∑j=1βj(r∑i=1αiaij)=r∑i=1αi(n∑j=1βjaij)=r∑i=1αi0=0
となります。
これは、r<s≤mを満たす任意のsに対してなりたつので、結局1≤i≤mを満たす任意のiに対してn∑j=1βjaijが成り立ちます。
故にベクトルの線型関係式
n∑j=1βjaij=0
が得られます。

この線形関係式はあるjでβj≠0だったので、a′1,…,a′nは線型従属です。
しかしながら、これは定理の仮定に矛盾です。
故に、r=nです。
この結果、項数がn個のベクトルである行のベクトルa1,…,anが線型独立ということになり、これから作られるAのn次の小行列式
|a1⋮an|=|a11⋯a1n⋮⋱⋮an1⋯ann|
は0ではありません。
実際、次の定理が成り立っていたからです。
定理8.
n∈Nとし、Aをn次正方行列、a1,a2,…,anをAの行ベクトル、a′1,a′2,…,a′nをAの列ベクトル、とするとき、次の条件は同値である。- det
- \boldsymbol{a}_1^\prime,\boldsymbol{a}_2^\prime,\dots,\boldsymbol{a}_n^\primeは線型独立である。
- \boldsymbol{a}_1,\boldsymbol{a}_2,\dots,\boldsymbol{a}_nは線型独立である。
定理8.の証明は【線型代数学の基礎シリーズ】線型空間編 その3を御覧ください。
②「小行列式が0でない小行列が存在するならば、列ベクトルが線型独立」の証明
逆に、Aの小行列式で値が0でないものが存在したとします。
それらを最初のn行の行ベクトルからなる小行列式とします。
そのとき、Aの各列ベクトルの後半の第n+1,\dots,第m成分を取り除いて得られる列ベクトル \left(\begin{array}{c} a_{11}\\ \vdots\\ a_{n1} \end{array} \right),\dots, \left(\begin{array}{c} a_{1n}\\ \vdots\\ a_{nn} \end{array} \right)
は、再度定理8.から線型独立です。
従って、もともとの列ベクトル
\left(\begin{array}{c} a_{11}\\ \vdots\\ a_{n1}\\ \vdots\\ a_{m1} \end{array} \right),\dots, \left(\begin{array}{c} a_{1n}\\ \vdots\\ a_{nn}\\ \vdots\\ a_{mn} \end{array} \right)
も線型独立です。
定理5.の証明終わり
ランクと同値なもの
最も言いたかったのがこれです。
定理9.
(m,n)型行列Aにおいて、次の1.〜5.の数は一致する。- r={\rm rank}(A)
- Aの列ベクトル(項数がm個のベクトル)の中から選びうる線型独立なベクトルの最大個数s
- 行列Aのt次の小行列式の中には0でないものがあり、t+1次以上の小行列式はすべて0である。
- Aの行ベクトル(項数がn個のベクトル)の中から選びうる線型独立なベクトルの最大個数u
- Aの行ベクトルが生成する\mathbb{R}^nの部分空間の次元v
定理9.の証明
(1.\Leftrightarrow2.の証明)
一般に、S[\boldsymbol{a}_1^\prime,\dots,\boldsymbol{a}_n^\prime]の次元は\boldsymbol{a}_1^\prime,\dots,\boldsymbol{a}_n^\primeから選びうる線型独立なベクトルの最大個数に等しいので、定理3.から従います。
(2.\Leftrightarrow3.の証明)
線型独立な最大個数を与えるAの列ベクトルを\boldsymbol{a}_{j1},\dots,\boldsymbol{a}_{js}とします。
この列ベクトルを並べてできる行列をA^\primeとしましょう。
つまり、
A^\prime=\left(\boldsymbol{a}_{j1}\ \dots\ \boldsymbol{a}_{js} \right)
です。
A^\primeについて定理5.を適用することによって、A^\primeのs次の小行列式でその値が0でないものが存在します。
A^\primeの小行列は、Aの小行列だから、t\geq sが成り立ちます。
逆に、3.にあるAのt次の小行列を
A \left( \begin{array}{c} i_1&i_2&\cdots&i_t\\ j_1&j_2&\cdots&j_t\\ \end{array} \right)= \begin{pmatrix} a_{i_1j_1}&\cdots &a_{i_1j_n}\\ \vdots& \ddots&\vdots\\ a_{i_nj_1}&\cdots &a_{i_nj_n}\\ \end{pmatrix}
とします。
すなわち、この小行列の行列式の値が0でなく、Aのt+1次以上の任意の小行列式はすべて0だとすると、定理8.からこの小行列の列ベクトル
\left(\begin{array}{c} a_{i_1j_1}\\ \vdots\\ a_{i_tj_1} \end{array} \right),\dots, \left(\begin{array}{c} a_{i1j_t}\\ \vdots\\ a_{i_tj_t} \end{array} \right)
は線型独立ですので、項数を増やした行列Aの第j_1列、\cdots、第j_t列
\left(\begin{array}{c} a_{i_1j_1}\\ \vdots\\ a_{mj_1} \end{array} \right),\dots, \left(\begin{array}{c} a_{i1j_t}\\ \vdots\\ a_{mj_t} \end{array} \right)
は線型独立です。
従って、t\leq sとなります。
以上により、前半と合わせてt=sです。
(3.\Leftrightarrow4.)
簡単です。
与えられた行列Aの転置行列A^\topを考えます。
A^\topに関する3.のtをt^\primeとすると、そもそも転置行列の行列式はもとの行列式と一致するので、t=t^\primeです。
A^\topの列ベクトルはAの行ベクトルなので、2.\Leftrightarrow3.の結果からt=uです。
いじょうからt=uです。
(4.\Leftrightarrow5.)
一般に、S[\boldsymbol{a}_1^\prime,\dots,\boldsymbol{a}_n^\prime]の次元は\boldsymbol{a}_1^\prime,\dots,\boldsymbol{a}_n^\primeから選びうる線型独立なベクトルの最大個数に等しいのことから従います。
定理9.の証明終わり
要するに、行列のランクを求めたければ、求める手段が2.から5.の4パターンある、ということになります。
問題によって求めやすいものを用いましょう、ということです。
結
今回は行列のランクについてエクストリームに解説しました。
行列のランクは大きく分けて2つの定め方がありますが、イメージしやすいのは
です。
また、線型独立なベクトルの個数ともランクは対応しているため、4つほど求めるパターンがあります。
次回は連立一次方程式と行および列基本変形について解説します。
乞うご期待!質問、コメントなどお待ちしております!
コメントをする