Я сделал это в Mathematica для вычисления Sqrt [5]:
a[0] = 2
a[n_] := a[n] = a[n-1] - (a[n-1]^2-5)/2/a[n-1]
Насколько близко [25] к [5]?
N[Sqrt[5]-a[25]] // FortranForm
4.440892098500626e-16
А насколько близко [25] ^ 2 к 5?
N[a[25]^2-5] // FortranForm
8.305767102358763e-42074769
Это кажется странным для меня. Моя оценка: если x находится в пределах 10 ^ -n Sqrt [5],
тогда x ^ 2 находится в пределах 10 ^ (- 2 * n) от 5, дать или взять. Нет? На самом деле:
a[25]^2 = (Sqrt[5]-4.440892098500626e-16)^2 ~ 5 - 2*5*4.440892098500626e-16
(расширение (a-b) ^ 2), поэтому точность должна быть только около 14 цифр
(или n цифр в целом).
Конечно, метод Ньютона дает только 15 точных цифр в 25
итерации также кажутся странными.
Я слишком рано теряю точность в приведенных выше вычислениях? Обратите внимание:
N[Log[Sqrt[5]-a[25]]] // FortranForm
-35.35050620855721
согласен с 15-значной точностью выше, хотя я и делаю N [] после
взяв бревно (поэтому оно должно быть точным).