#40 Подсчёт точных знаков при умножении

Погрешность произведения можно оценить проще (но зато грубее), чем по способу #39. Эта оценка основана на следующем правиле:

Пусть перемножаются два приближенных числа и пусть каждое имеет по $k$ значащих цифр. Тогда ($k - 1$)-я цифра произведения безусловно верна, а $k$-я цифра может быть не вполне точной. Однако погрешность произведения не превосходит $51/2$ единиц $k$-й цифры и лишь в исключительных случаях близка к этому пределу. Если же первые цифры сомножителей в произведении дают число, большее десяти (с учетом влияния следующих цифр или без этого учета), то погрешность произведения не превышает одной единицы $k$-й цифры.

Пример 1.
Перемножим приближенные числа $2,45$ и $1,22$, имеющие каждое по три значащих цифры. В произведении $2,9890$ первые две цифры безусловно верны. Третья цифра может быть не вполне точной. При данных величинах сомножителей предельная абсолютная погрешность произведения (ее можно найти, как в Примере 1 #39) составляет $1,8$ единицы третьей цифры (т. е. $0,0018$); истинная погрешность, как правило, будет еще меньше. Поэтому третью цифру следует удержать; четвертую же цифру нет смысла сохранять. Округляя, имеем: $2,45\cdot1,22 \approx 2,99$.

Пример 2.
Перемножим приближенные числа $46,5\cdot2,82$. В произведении $131,130$ первые две цифры безусловно верны. Так как первые цифры сомножителей с учетом влияния следующих цифр дают в произведении $13$ (первые две цифры числа $131,130$), то погрешность произведения безусловно не превосходит единицы.

В данном случае предельная абсолютная погрешность произведения составляет только $0,37$; истинная же погрешность, как правило, будет еще меньше. Поэтому третью цифру нужно удержать. Четвертую же цифру (не вполне точную) имеет смысл удерживать (в качестве запасной) лишь в том случае, когда над произведением нужно выполнять дальнейшие действия.

При перемножении трех, четырех и т. д. приближенных чисел предельная погрешность пропорционально возрастает (т. е. увеличивается по сравнению с вышеуказанной в полтора, два и т. д. раза). Но в подавляющем большинстве случаев истинная погрешность при небольшом числе сомножителей остается в тех же границах (вследствие компенсации погрешностей; ср. #38).

Практические выводы:
1. Если перемножаются приближенные числа с одним и тем же количеством значащих цифр, то в произведении следует удержать столько же значащих цифр. Последняя из удержанных цифр будет не вполне надежна.
2. Если некоторые сомножители имеют больше значащих цифр, чем другие, то до умножения следует первые округлить, сохранив в них столько цифр, сколько имеет наименее точный сомножитель, или еще одну (в качестве запасной). Дальнейшие цифры удерживать бесполезно.
3. Если требуется, чтобы произведение двух чисел имело заранее данное число вполне надежных цифр, то в каждом из сомножителей число точных цифр (найденных измерением или вычислением) должно быть на единицу больше. Если количество сомножителей больше двух и меньше десяти, то в каждом из сомножителей число точных цифр для полной гарантии должно быть на две единицы больше, чем требуемое число точных цифр. Практически нее вполне достаточно взять лишь одну лишнюю цифру.

Чтобы проверить эти выводы, рассмотрим пример, где наперед известны точные значения перемножаемых приближенных чисел.

Пример 3.
Обратим произведение $\dfrac{1}{3}\cdot\dfrac{1}{7}\cdot \dfrac{1}{11} \cdot \dfrac{1}{13} = \dfrac{1}{3003}$ в десятичную дробь. Взяв 4 значащие цифры, получим $0,0003330$. Пусть теперь нам известны только приближенные значения сомножителей1:
$$\dfrac{1}{3} = 0,33333;\quad \dfrac{1}{7} = 0,14286;\quad \dfrac{1}{11} = 0,09091;\quad \dfrac{1}{13} = 0,07692 $$
и требуется найти произведение с двумя значащими цифрами. Для полной гарантии мы должны взять все сомножители с четырьмя значащими цифрами, т. е. перемножить $0,3333\cdot 0,1429 \cdot 0,09091 \cdot 0,07692$.
1) Находим $0,3333\cdot 0,1429 = 0,04762857$.
Удерживая четыре значащие цифры, получаем $0,04763$.
2) Выполняем следующее умножение: $0,04763\cdot 0,0909 = 0,0043300433$.
3) Удерживая четыре значащие цифры 2 и выполняя последнее умножение, находим: $$0,004330\cdot 0,07692 = 0,0003331$$.
Две первые значащие цифры безусловно правильны, так что искомое число есть $0,00033$. За полную точность третьей значащей цифры заранее нельзя поручиться. Но она оказывается верной. Четвертая значащая цифра не вполне точна, по ошибка не превышает единицы соответствующего разряда.

Если вести наше вычисление на три знака, то нельзя заранее поручиться за вторую цифру. Однако на самом деле даже третья цифра будет верна. Именно:
1) $0,333\cdot 0,143 = 0,047619$;
2) $0,0476\cdot 0,0909 = 0,00432684$;
3) $0,00433\cdot0,0769 = 0,000333$.
Если вести вычисление на два знака, то в произведении получится $0,00032$, т. е. ошибка составит $1,3$ единицы второго знака.


1 Читателю рекомендуется взять любые другие сомножители

2 Здесь достаточно было бы удержать по три значащие цифры.