ガウスの消去法

シェアする

  • このエントリーをはてなブックマークに追加
最近の記事
  • 10/21 【C#】寸法線の描画
  • 10/21 【C#】GraphicsPathの領域取得
  • 10/20 【C#】GraphicsPathの描画
  • 10/18 【C#】GraphicsPath
  • 10/17 【C#】Bitmap画像データの拡大縮小
  • 10/15 【C#】画像の座標系
  • 10/14 【C#】画像の上下左右反転、90,180,270度回転
  • 10/3 【C#】SplitContainerのPanel固定方法
  • 9/7 【Neural Network Console】学習データの出力方法
  • 9/3 Deep Learning向け学習画像撮り込みソフト公開
  • 9/1 【Neural Network Console】新規画像のDataset作成方法
  • 8/28 【Neural Network Console】GUI表示スケールの変更
  • 8/22 【Neural Network Console】CPU/GPU処理の設定切替
  • 8/21 【Neural Network Console】Learning Rate(学習率)の設定
  • 8/20 ソニーの無償AIソフト Neural Network Consoleの入手ダウンロード、インストール
  • 8/20 Deep Learning
  • 8/20
  • 8/19 古いバージョンのVisual Studio Community/Expressの入手ダウンロード
  • 8/19 CUDAの入手、ダウンロード、インストール方法
  • 8/17 【C#.NET】マイクロソフト仕様のアフィン変換
  • 8/5 【C#】ファイルを開くダイアログボックスの表示
  • 8/2 キャノンプリンターのCDトレイはどこ?!
  • 7/6 【参考書籍】画像処理・機械学習プログラミング OpenCV 3対応
  • 6/20 【Python,matplotlib】動くグラフをAnimationGifに保存する方法
  • 6/17 シグモイド関数の微分
  • 6/15 シグモイド関数
  • 6/13 合成関数の微分
  • 6/12 WordPressで数式エディタ風に数式を入力したい
  • 6/11 PythonをVisual Studioでインストールする方法
  • 6/9 【Python】OpenCVをAnacondaでインストール(Windows編)
  • 6/6 【Python】Anacondaで複数バージョンの環境切り替え
  • 6/6 画像センシング展2017に出展します。
  • 6/1 【Office365】Web版Outlookのフォントサイズ変更
  • 6/1 【Anaconda】モジュールのアップデートでエラー発生
  • 6/1 【Anaconda】コマンドリストの表示
  • 5/29 Windows10パソコン購入
  • 5/24 Anacondaのアンインストール
  • 5/24 【Jupyter Notebook】新規プログラムの作成
  • 5/23 【Python】開発環境の構築
  • 5/23 Pythonはじめました
  • 4/6 【Office365】Web版Outlookのスレッド表示を解除する方法
  • 4/5 【Excel】フーリエ解析(FFT)
  • 3/20 Canny edge detection
  • 3/20 【Excel2016】分析ツールの表示
  • 3/5 【Visual Studio】黒い背景色を白に変更する方法
  • 2/8 【Windows10】拡張モニタに表示されたウィンドウを元に戻す
  • 2/7 複素数の計算
  • 1/18 【Excel】棒グラフの横軸の目盛を0始まりにする
  • 1/16 【Excel】フーリエ変換
  • 1/6 【OpenCV】疑似カラー(カラーマップ)

  • ガウス(Gauss)の消去法は連立一次方程式を解くのに用いられます。

    基本的な方針は、下記のような連立一次方程式

    ガウスの消去法

    を行列であらわすと、

    ガウスの消去法

    となりますが、対角成分を全て、左下の成分をになるように、行の入替えや足し算、引き算などを行い、下記の行列になるように調整します。

    ガウスの消去法
    (?の部分は任意の値で可)

    これまでの処理を前進消去といいます。
    ここで、最後の行の部分(3の部分)に着目すると、答えが確定しています。
    この値を使って最後から2行目の値を計算すると答えが算出できます。
    このように最後の行から順々に計算すると答えが全て計算することができます。
    この処理は後退代入といいます。
    この前進消去と後退代入の処理を合わせてガウスの消去法といいます。

    さらに、前進消去のときに対角成分を1にするときの割り算の計算のときにおいて、
    ピボット選択を行ったGauss-Jordan法でも説明しましたが、

    • 0(ゼロ)で割ることはできない。
    • 値を絶対値の小さい値で割ると、値に誤差が含まれる場合、計算結果に大きく影響が出てしまう。

      という性質を考慮します。

      ということで、以下、具体的な計算例を示します。

      連立一次方程式


      ガウスの消去法

      のうち、まず最初に1の項のどれか1つを1にするのですが、割り算の計算で誤差が少なくなるように、1の係数が一番大きい2行目の式を一番上に持ってきます。

      ガウスの消去法

      次に1行目の式の1の係数がになるように1行目の式全体を1の係数()で割ります。

      ガウスの消去法

      次に1行目以下の式の1の項が消えるように、
      2行目-1行目×23行目-1行目を計算します。

      ガウスの消去法

      ここで、3行目の式の3の項(行列で表現すると対角成分)が消えてしまったので、
      このままだと対角成分をにできないので、2行目3行目を入れ替えます。

      ガウスの消去法

      次に2行目の式の2の係数をにするように、2行目の式全体に3/2を掛けます。

      ガウスの消去法

      次に2行目以下の2の項が消えるように3行目+2行目 × 2/3を計算します。

      ガウスの消去法

      3行目の式のの係数はすでになので、前進消去はこれで終了です。
      この3本の式を行列であらわすと

      ガウスの消去法

      というように、対角成分が全てがで左下の成分がになったことが分かります。

      次に後退代入です。

      一番下の行の式はすでに答えが確定(X3 = 3)しているのがわかります。
      一番下の答えを用いて、下から2行目の式の答えを計算、
      一番下、下から2行目の答えを用いて下から3行目の式の答えを計算していきます。
      (今回の例だけ特別に、下から2行目の式の答えが確定してしまっています。)

      ガウスの消去法

      こうして全ての答えが求まります。

      ガウスの消去法

      この一連の処理がガウスの消去法です。

      このガウスの消去法を用いると、連立方程式を求めたり、最小二乗法の未知数を
      求めることができます。

      使える数学へ戻る

      コメント