Linear Algebra (7)

以下の連立方程式をまず手動で解いてみる事に。

2a + 2b + 3c = 15
3a + 5b + 2c = 19
5a + 3b + 3c = 20

matrix にしてみるとこうなる。

((2 2 3 15)
 (3 5 2 19)
 (5 3 3 20)

ちなみに試行錯誤ですので、ボケかましてる場合はご容赦を。

まず最初の行

ケツから 0 にしてみます。使う基本演算は

  • i 行目を λ 倍する
  • i 行目に j 行目の λ 倍を加える

ってコトでまず

1 行目を 2 行 3 列の値倍する
(4 4 6 60)

次。1 行目に 2 行目の -3 倍を加えれば良い

1 行目に 2 行目の -3 倍を加える
((+ 4 -9) (+ 4 -15) (+ 6 -6) (+ 60 -57))

なので

(-5 -11 0 3)

になるのか。今度は 1 行 2 列を 0 にする。

1 行目に 2 行 2 列の値倍する
(-25 -55 0 15)

次は 2 行目を 11 倍したソレを加えれば良いのか

1 行目に 2 行目の 11 倍を加える

こうなる?

((+ -25 33) (+ -55 55) (+ 0 22) (+ 15 209)

これはダメですな。

リトライ

考え方として、列に着目して操作という手法がある模様。手動で試してみます。

  • 2 行目に 1 行目の -3/2 を加える
  • 3 行目に 1 行目の -5/2 を加える
  • 1 行目を 1/2 倍する
2 行目に 1 行目の -3/2 を加える

こうなります。

((2 2 3 15)
 (0 2 -5/2 -7/2)
 (5 3 3 20))

むむ、本当に良いのかなぁ。

3 行目に 1 行目の -5/2 を加える
((2 2 3 15)
 (0 2 -5/2 -7/2)
 (0 -2 -9/2 -35/2))

随分壮絶なコトになってる模様。最後に

1 行目を 1/2 倍する
((1 1 3/2 15/2)
 (0 2 -5/2 -7/2)
 (0 -2 -9/2 -35/2))

次は 2 列目。

  • 1 行目に 2 行目の -1/2 倍を加える
  • 3 行目に 2 行目の 1 倍を加える
  • 2 行目を 1/2 倍する

てコトで以下

1 行目に 2 行目の -1/2 倍を加える

1 行目が

((+ 1 0) (+ 1 (* 2 -1/2)) (+ 3/2 (* -1/2 -5/2)) (+ 15/2 (* -1/2 -7/2)))

結果が以下。

(1 0 11/4 37/4)

なんか随分分母が大きいんですが気にせず続行

3 行目に 2 行目の 1 倍を加える

3 行目は

((+ 0 0) (+ -2 2) (+ -9/2 -5/2) (+ -35/2 -7/2))

結果は以下?

(0 0 -7 -21)
2 行目を 1/2 倍する
(0 (* 1/2 2) (* 1/2 -5/2) (* 1/2 -7/2))

結果が以下

(0 1 -5/4 -7/4)

結果は

((1 0 11/4 37/4)
 (0 1 -5/4 -7/4)
 (0 0 -7 -21))

今度はどうなるかというか、4 倍して 4 で割れば良いのかなぁ。てか

  • 1 行目に 3 行目を 11/28 (11/4 を 7 で割った数値) 倍した値を加える
  • 2 行目に 3 行目を -5/28 (-5/4 を 7 で割った数値) 倍した値を加えるn
  • 3 行目を -1/7 倍する
1 行目に 3 行目を -11/28 倍した値を加える
((+ 0 1) (+ 0 0) (+ 11/4 (* -7 11/28)) (+ 37/4 (* -21 11/28)))

これは以下になります。

(1 0 0 1)

をー。

2 行目に 3 行目を 5/28 倍した値を加える
((+ 0 0) (+ 1 0) (+ -5/4 (* -7 -5/28)) (+ -7/4 (* -21 -5/28)))

これは以下になります。

(0 1 0 2)
3 行目を -1/7 倍する

これは以下になります。

(0 0 1 3)

結果として以下のリストが出てきます。

((1 0 0 1)
 (0 1 0 2)
 (0 0 1 3))

解けはした。どう一般化すりゃ良いんだっけ (を