【徹底解説】ガウスの消去法の計算量

本記事は数学の徹底解説シリーズに含まれます。

初学者の分かりやすさを優先するため,多少正確でない表現が混在することがあります。もし致命的な間違いがあればご指摘いただけると助かります。

目次

ガウスの消去法の計算量

ガウスの消去法の計算量は$O(n^{3})$である。

前進消去と後退消去の計算量に分けて求める点がポイントです。

証明

対象とする連立一次方程式を$A\vx=\vb$とおきます。前進消去では,係数行列$A$の第$k$行より下を掃き出すために

  • 第$k$行から第$k+1$行以下に対する倍率比較:$n-k$回の割り算
  • 第$k$行から第$k+1$行以下に対する正規化:$(n-k)^{2}$回の掛け算
  • 第$k$行から第$k+1$行以下に対する加算:$(n-k)^{2}$回の足し算

を行う必要があります。加えて,$\vb$に対しても

  • 第$k$行から第$k+1$行以下に対する正規化:$n-k$回の掛け算
  • 第$k$行から第$k+1$行以下に対する加算:$n-k$回の足し算

を行う必要があります。したがって,前進消去の計算回数は

\begin{align}
\sum_{k=1}^{n-1}\left\{(n-k)+2(n-k)^{2}+2(n-k)\right\}
&= \sum_{l=1}^{n-1}\left\{l+2l^{2}+2l\right\} \\[0.7em]
&= \frac{1}{2}n(n+1)+\frac{1}{3}(n-1)n(2n-1)+n(n-1) \\[0.7em]
&= \frac{1}{6}n(n-1)(4n+7)
\end{align}

と求められます。後退消去では,第$k$行より上を掃き出すために

  • 第$k$行から第$k-1$行以上に対する倍率比較:$1$回の割り算
  • 第$k$行から第$k-1$行に対する正規化:$k-1$回の掛け算
  • 第$k$行から第$k-1$行に対する加算:$k-1$回の足し算

を行う必要があります。したがって,後退消去の計算回数は

\begin{align}
\sum_{k=1}^{n}\left\{1+2(k-1)\right\}
&= n + \frac{2}{2}n(n-1) = n^{2}
\end{align}

と求められます。したがって,ガウスの消去法の計算量は,オーダー記法を用いて

\begin{align}
O\left(\frac{1}{6}n(n-1)(4n+7)+n^{2}\right) &= O(n^{3})
\end{align}

と表されます。

シェアはこちらからお願いします!

コメント

コメントする

※ Please enter your comments in Japanese to distinguish from spam.

目次