線形代数I/小テスト/2006-05-18 のバックアップ(No.5)

更新


線形代数I

問1

次の行列の階数 (rank) を求めよ。

(1) \left[\begin{array}{cccc}1&2&3&4\\2&1&4&2\\3&4&2&1\\4&3&1&2\end{array}\right]

問2

次の行列は正則である。逆行列を求めよ。

(1) \left[\begin{array}{cccc}0&0&0&1\\0&0&2&0\\0&3&0&0\\4&0&0&0\end{array}\right]

(2) \left[\begin{array}{cccc}1&2&0&0\\2&1&2&0\\0&2&1&2\\0&0&2&1\end{array}\right]

解答1

\left[\begin{array}{cccc}1&2&3&4\\2&1&4&2\\3&4&2&1\\4&3&1&2\end{array}\right]\begin{array}{l}\gets (1)\\-2\times(1)\\-3\times(1)\\-4\times(1)\end{array}

行基本変形により、1行目を使って他の行の1列目をゼロにする。

\sim \left[\begin{array}{cccc}1&2&3&4\\0&-3&-2&-6\\0&-2&-7&-11\\0&-5&-11&-14\end{array}\right]\begin{array}{l}\\ \\ \\\times 3 \\\times 3 \end{array}

2行目を使って3,4行の2列目をゼロにしたいが、分数を使うのを避けるためには あらかじめ3,4行を3倍しておけばよい。

\sim \left[\begin{array}{cccc}1&2&3&4\\0&-3&-2&-6\\0&-6&-21&-33\\0&-15&-33&-42\end{array}\right]\begin{array}{l}\\\gets(2)\\-2\times (2)\\-5\times (2)\end{array}

2行目を使って3,4行の2列目をゼロにする。

\sim \left[\begin{array}{cccc}1&2&3&4\\0&-3&-2&-6\\0&0&-17&-21\\0&0&-8&-12\end{array}\right]\begin{array}{l}\\ \\ \gets (3) \\-8/17\times (3)\end{array}

3行目を使って4行目の3列目をゼロにする。

\sim \left[\begin{array}{cccc}1&2&3&4\\0&-3&-2&-6\\0&0&-17&-21\\0&0&0&264/17\end{array}\right]

対角成分が4つ残ったので、 \text{rank} A=4 である。

解答1(別解)

上記解答の最後の 8/17 倍するのが面倒であれば、

\sim \left[\begin{array}{cccc}1&2&3&4\\0&-3&-2&-6\\0&0&-17&-21\\0&0&-8&-12\end{array}\right]\begin{array}{l}\\ \\-2\times (4) \\\to (4)\end{array}

3行目から4行目の2倍を引く

\sim \left[\begin{array}{cccc}1&2&3&4\\0&-3&-2&-6\\0&0&-1&3\\0&0&-8&-12\end{array}\right]\begin{array}{l}\\ \\\to (3) \\-8\times (3)\end{array}

4行目から3行目の8倍を引く

\sim \left[\begin{array}{cccc}1&2&3&4\\0&-3&-2&-6\\0&0&-1&3\\0&0&0&-36\end{array}\right]

対角成分が4つ残ったので、 \text{rank} A=4 である。

解答2(1)

与えられた行列を左半分に、単位行列を右半分に持つ行列を作り、行基本変形を繰り返す。

\left[\begin{array}{cccccccc}0&0&0&1&1&0&0&0\\0&0&2&0&0&1&0&0\\0&3&0&0&0&0&1&0\\4&0&0&0&0&0&0&1\end{array}\right]\begin{array}{l}\gets (1)\\\gets (2)\\ (2) と交換する\\ (1) と交換する\end{array}

行を入れ替えて左半分を対角行列にする。

\sim \left[\begin{array}{cccccccc}4&0&0&0&0&0&0&1\\0&3&0&0&0&0&1&0\\0&0&2&0&0&1&0&0\\0&0&0&1&1&0&0&0\end{array}\right]\begin{array}{l}\times 1/4\\\times 1/3\\\times 1/2\\\ \end{array}

各行に定数を掛けて左半分を単位行列にする。

\sim \left[\begin{array}{cccccccc}1&0&0&0&0&0&0&1/4\\0&1&0&0&0&0&1/3&0\\0&0&1&0&0&1/2&0&0\\0&0&0&1&1&0&0&0\end{array}\right]

したがって、逆行列は

\left[\begin{array}{cccc}0&0&0&1/4\\0&0&1/3&0\\0&1/2&0&0\\1&0&0&0\end{array}\right]

解答2(2)

与えられた行列を左半分に、単位行列を右半分に持つ行列を作り、行基本変形を繰り返す。

\left[\begin{array}{cccccccc}1&2&0&0&1&0&0&0\\2&1&2&0&0&1&0&0\\0&2&1&2&0&0&1&0\\0&0&2&1&0&0&0&1\end{array}\right]\begin{array}{l}\gets (1)\\ -2\times(1)\\\ \\\ \end{array}

1行目を使って2行目の1列目をゼロにする。

\sim \left[\begin{array}{cccccccc}1&2&0&0&1&0&0&0\\0&-3&2&0&-2&1&0&0\\0&2&1&2&0&0&1&0\\0&0&2&1&0&0&0&1\end{array}\right]\begin{array}{l}\times 3\\ \\\times 3 \\\ \end{array}

2行目を使って1,3行目の2列目をゼロにしたいが、分数を使うのを避けるためにあらかじめ3倍しておく。

\sim \left[\begin{array}{cccccccc}3&6&0&0&3&0&0&0\\0&-3&2&0&-2&1&0&0\\0&6&3&6&0&0&3&0\\0&0&2&1&0&0&0&1\end{array}\right]\begin{array}{l}+2\times (2)\\\gets (2) \\+2\times (2) \\\ \end{array}

2行目を使って1,3行目の2列目をゼロにする。

\sim \left[\begin{array}{cccccccc}3&0&4&0&-1&2&0&0\\0&-3&2&0&-2&1&0&0\\0&0&7&6&-4&2&3&0\\0&0&2&1&0&0&0&1\end{array}\right]\begin{array}{l}\times 7\\\times 7 \\\ \\\times 7 \end{array}

3行目を使って他の行の3列目をゼロにするため、あらかじめ7を掛けておく。

\sim \left[\begin{array}{cccccccc}21&0&28&0&-7&14&0&0\\0&-21&14&0&-14&7&0&0\\0&0&7&6&-4&2&3&0\\0&0&14&7&0&0&0&7\end{array}\right]\begin{array}{l}-4\times (3)\\-2\times (3) \\\gets (3) \\-2\times (3) \end{array}

3行目を使って他の行の3列目をゼロにする。

\sim \left[\begin{array}{cccccccc}21&0&0&-24&9&6&-12&0\\0&-21&0&-12&-6&3&-6&0\\0&0&7&6&-4&2&3&0\\0&0&0&-5&8&-4&-6&7\end{array}\right]\begin{array}{l}\times 5\\\times 5 \\\times 5 \\\ \end{array}

4行目を使って他の行の4列目をゼロにするため、あらかじめ5を掛けておく。

\sim \left[\begin{array}{cccccccc}105&0&0&-120&45&30&-60&0\\0&-105&0&-60&-30&15&-30&0\\0&0&35&30&-20&10&15&0\\0&0&0&-5&8&-4&-6&7\end{array}\right]\begin{array}{l}-24\times (4)\\-12\times (4) \\+6\times (4) \\\gets (4) \end{array}

4行目を使って他の行の4列目をゼロにする。

\sim \left[\begin{array}{cccccccc}105&0&0&0&-147&126&84&-168\\0&-105&0&0&-126&63&42&-84\\0&0&35&0&28&-14&-21&42\\0&0&0&-5&8&-4&-6&7\end{array}\right]\begin{array}{l}/105\\/105 \\/35 \\/5 \end{array}

各行に定数を掛けて左半分を単位行列にし、右半分を取り出すとそれが逆行列となる。

\left[\begin{array}{cccc}-147/105&126/105&84/105&-168/105\\126/105&-63/105&-42/105&84/105\\28/35&-14/35&-21/35&42/35\\-8/5&4/5&6/5&-7/5\end{array}\right]

約分すると、対称行列であることがはっきりする。

= \left[\begin{array}{cccc}-7/5&6/5&4/5&-8/5\\6/5&-4/5&-2/5&4/5\\4/5&-2/5&-3/5&6/5\\-8/5&4/5&6/5&-7/5\end{array}\right]

分母をそろえて外に出しても良い。

=(1/5)\left[\begin{array}{cccc}-7&6&4&-8\\6&-3&-2&4\\4&-2&-3&6\\-8&4&6&-7\end{array}\right]

解答2(別解)

計算順を工夫すると、比較的楽に答えが出る場合もある。

方針としては大きな掛け算を避け、こまめに足し算、引き算するのが良い。

\left[\begin{array}{cccccccc}1&2&0&0&1&0&0&0\\2&1&2&0&0&1&0&0\\0&2&1&2&0&0&1&0\\0&0&2&1&0&0&0&1\end{array}\right]\begin{array}{l}\gets (1)\\ -2\times(1)\\\ \\\ \end{array}

1行目を使って2行目の1列目をゼロにする。

\sim \left[\begin{array}{cccccccc}1&2&0&0&1&0&0&0\\0&-3&2&0&-2&1&0&0\\0&2&1&2&0&0&1&0\\0&0&2&1&0&0&0&1\end{array}\right]\begin{array}{l}\ \\+(3) \\\to (3) \\\ \end{array}

2行目を使って他の行の2列目をゼロにしたいが、2行目2列目の成分が1でないのでやりにくい。 そこで2行目に3行目を足すことで2列目に「1」(ここでは−1だが)を作る。

\sim \left[\begin{array}{cccccccc}1&2&0&0&1&0&0&0\\0&-1&3&2&-2&1&1&0\\0&2&1&2&0&0&1&0\\0&0&2&1&0&0&0&1\end{array}\right]\begin{array}{l}+2\times(2)\\\to(2) \\+2\times(2) \\\ \end{array}

2行目を使って他の行の2列目をゼロにする。

\sim \left[\begin{array}{cccccccc}1&0&6&4&-3&2&2&0\\0&-1&3&2&-2&1&1&0\\0&0&7&6&-4&2&3&0\\0&0&2&1&0&0&0&1\end{array}\right]\begin{array}{l}\ \\ \\-3\times (4) \\\to (4) \end{array}

ここでも同様に、3行目3列目を1にするために3行目から4行目×3を引く。

\sim \left[\begin{array}{cccccccc}1&0&6&4&-3&2&2&0\\0&-1&3&2&-2&1&1&0\\0&0&1&3&-4&2&3&-3\\0&0&2&1&0&0&0&1\end{array}\right]\begin{array}{l}-3\times (4) \\-(3)-(4) \\\to (3) \\\to (4), -2\times (3) \end{array}

3、4行目を使って他の行の3列目をゼロにする。 4行目を混ぜて使うことで掛け算を最小限にしているところに注目。

\sim \left[\begin{array}{cccccccc}1&0&0&1&-3&2&2&-3\\0&-1&0&-2&2&-1&-2&2\\0&0&1&3&-4&2&3&-3\\0&0&0&-5&8&-4&-6&7\end{array}\right]\begin{array}{l}\times 5 \\\times 5 \\\times 5 \\\ \end{array}

4行目を使って他の行の4列目をゼロにするため、準備として5倍しておく。

\sim \left[\begin{array}{cccccccc}5&0&0&5&-15&10&10&-15\\0&-5&0&-10&10&-5&-10&10\\0&0&5&15&-20&10&15&-15\\0&0&0&-5&8&-4&-6&7\end{array}\right]\begin{array}{l}+(4) \\-2\times (4) \\+3\times (4) \\\to (4) \end{array}

4行目を使って他の行の4列目をゼロにする。

\sim \left[\begin{array}{cccccccc}5&0&0&0&-7&6&4&-8\\0&-5&0&0&-6&3&2&-4\\0&0&5&0&4&-2&-3&6\\0&0&0&-5&8&-4&-6&7\end{array}\right]\begin{array}{l}\ \\\times -1 \\\ \\\times -1 \end{array}

符号をそろえる。

\sim \left[\begin{array}{cccccccc}5&0&0&0&-7&6&4&-8\\0&5&0&0&6&-3&-2&4\\0&0&5&0&4&-2&-3&6\\0&0&0&5&-8&4&6&-7\end{array}\right]

従って、逆行列は

(1/5)\left[\begin{array}{cccc}-7&6&4&-8\\6&-3&-2&4\\4&-2&-3&6\\-8&4&6&-7\end{array}\right]

である。

検算

逆行列の計算で面倒な数値になる場合、中途段階で計算を間違えていないかを検算する方法がある。

\left[\ A \ \ \vdots \ \ I \ \right]

を行方向の基本変形を施した途中結果は

\left[\ BA \ \ \vdots \ \ B \ \right]

となっているはずである。

したがって、途中結果の右半分 B に右から元の行列 A を掛けて左半分 BA と等しくなれば、 その時点までの計算は間違っていないと判断できる。

コメント

何かあれば自由にコメントを付けてください。



Counter: 4741 (from 2010/06/03), today: 1, yesterday: 0