Ошибка округления возникает из-за конечной точности мантиссы (бит): число x представляется как fl(x)=x*(1+δ), где ∣δ∣ ≤ ε_mach (машинное эпсилон, ≈ 10^(−16) для double). Например, 0.1 в двоичной системе хранится с погрешностью.
Накопление ошибок — кумулятивный эффект при последовательных операциях. Погрешность результата n операций может достигать ∼ sqrt(n) * ε_mach (случайное округление) или n * ε_mach (худший случай).
Потеря значимости — вычитание близких чисел a ≈ b, усиливающее относительную погрешность:
fl(a−b) = (a * (1+δ_1) − b * (1+δ_2)) ≈ (a−b) + (a * δ_1− b * δ_2).
Относительная ошибка: ∣a * δ_1 − b * δ_2∣/∣a − b∣ ≫ ε_mach , если ∣a − b∣ ≪ ∣a∣ + ∣b∣.
Пример:
1.000001−1.000000 = 10^(−6), но при погрешностях δ_i ∼ 10^(−16) результат может иметь относительную ошибку до 10^(−10).