離散化誤差
数値解析、計算物理学およびシミュレーションで、離散化誤差(英:Discretization error)あるいは切り捨て誤差(英:Truncation error)は、連続変数の関数をコンピューターで有限個数(たとえば格子モデル上)の計算で表現することに起因する誤差[1][2]。一般的に、格子の間隔を狭くすることなどによって離散化誤差を減らすことができるが、計算量は増加する。
例
[編集]離散化誤差は、計算物理学の有限差分法や疑似スペクトル法における誤差の主要な要因である。関数f (x ) の微分を
とおく。h が非常に小さな有限値の場合、
と近似できる。このとき、最初の微分の式と2つめの近似式の差が、離散化誤差である[2]。
関連する現象
[編集]定義域 (domain) の有限性から発生する離散化誤差は、値域 (range) の有限性から発生する量子化誤差や、浮動小数点演算によって発生する丸め誤差と混同してはいけない。値域に対して正確な値を表し、正確な演算を使用することが可能であったとしても、離散化誤差は発生する。離散化誤差は、定義域を離散的な点の集合上で表すから生じる誤差であって、値域の値の誤差ではない[3](数値解析#誤差の発生と伝播も参照)。
信号処理
[編集]信号処理では、離散化に対応するのは標本化であり、標本化定理の条件が満たされる場合、情報は失われない。そうでない場合、標本化によって発生する誤差は折り返し雑音(エイリアシング)と呼ばれる。
幻影解
[編集]微分方程式の数値解法において、離散化誤差が原因で数学的には得られるはずのない解が現れることがある[1]。
誤差評価
[編集]誤差の大きさは、その絶対量ではなく、格子幅h との関数関係により表される。その解析には、テイラー展開が用いられる。通常、数値解析ではh には小さい値が取られるため、より高次精度のものが誤差も小さい[2]。
以下では、関数f の厳密な微分をDf 、離散化した微分をΔf と表す。
1次精度
[編集]1階微分Df の離散化Δf として次式(前進差分という)を採用する:
このとき、厳密な微分との差は、
すなわち、h の1次のオーダーとなる。ここでO はランダウの記号である。このように、誤差がh の1次のオーダーとなることを、1次精度という[2]。
2次精度
[編集]1階微分Df の離散化Δf として次式(中心差分という)を採用する:
このとき、厳密な微分との差は、
となる。このことを、2次精度という[2]。