Самарский А.А. Гулин А.В. - Численные методы (1078412), страница 5
Текст из файла (страница 5)
Комплексное число представляется в ЭВМ в виде пары вещественных чисел. 2. Округление чисел в ЭВМ. Будем считать в дальнейшем, что вещественные числа представляются в ЭВМ в форме с плавающей запятой. Минимальное положительное число М„которое может быть представлено в ЭВМ с плавающей запятой, называется машинным нулем. Мы нидим, что для ЭВМ БЭСМ-6 число Мяж!0-".
Число М =- Мя' называется машинной бесконечностью. Все вещественные числа, которые могут быть представлены в данной ЭВМ, расположены по абсолютной величине в диапазоне от М, до М... Если в ппоцессе счета какой-либо задачи появится вещест- 17 венное число, меньшее по модулю чем М„то ему присваивается нулевое значение. Так, на ЭВМ БЭСМ-б в результате перемножения двух чисел 10 " и 10 " получим нуль. При появлении в процессе счета вещественного числа, большего по модулю чем М происходит так называемое переполнение разрядной сетки, после чего ЭВМ прекращает счет задачи.
Отметим, что нуль и целые числа представляются в ЭВМ особым образом, так что они могут выходить за пределы диапазона М,—;М Из-за конечности разрядной сетки в ЭВМ можно представить точно не все числа из диапазона М,—:М, а лишь конечное множество чисел. Число а, не представимое в ЭВМ точно, подвергается округлению, т. е. оно заменяется близким ему числом а, прел. ставимым в ЭВМ точно. Точность представления чисел в ЭВМ с плавающей запятой характеризуется относительной погрешностью (а — а) /)а!. Величина относительной погрешности зависит от способа округления. Простейшим, но не самым точным способом округления является отбрасывание всех разрядов мантиссы числа а, которые выходят за пределы разрядной сетки. Найдем границу относительной погрешности при таком способе округления.
Пусть для записи мантиесм в ЭНМ отводится 1 двоичнык разрядов. Предположим, что надо записать число, представленное в виде бесконечной двоичной дроби / а, аз "г аггг а=-+2п~ — + — + ... + — + — + ...~ 2 2з 2~ 2!н (4) а ) ! а1 аз а=Л.2п~ — + — +...+— 2 2з 2г ) Таким образом, для погрешности округления , а,„г анз а — а=.
2л( — + — +... 2ьи 2н" справедлива оценка 1 г' 1 ! ) а — а) (2п — ~1+ —, + — +...) = 2~ '. Далее заметим, что из условия нормировки )л(1)05 (см. (3)) следует, что в разложении (4) всегда а~=1. Поэтому )а) >2т.2-'=2а ', и для относительной погрешности округления получим оценку (2 н'. !а) При более точных способах округления можно уменьшить погрешность по крайней мере в два раза и добиться, чтобы выполнялась оценка «~ 2 (5) )а) $8 где каждое из а! равно 0 илн 1. Отбрзеывая все лишние разряды, получим округленное число Итак, относительная точность в ЭВМ с плавагощей запятой определяется числом разрядов 6 отводимсчх для записи мантиссы.
Можно считать, что точное число а и отвечающее ему округленное число а связаньь равенством а=а(1+е), (6) где !е) «2-'. Число 2 ' называют иногда машинным эпсилоном. Оно характеризует относительную точность представления чисел в ЭВМ. Для ЭВМ БЭСМ-6 имеем р=40, 2 '=10 ", т. е. относительная точность представления чисел составляет 12 десятичных знаков. Соотношение (6) справедливо лишь в случае !а!)М., где М,— машинный нуль. Если >ке число а мало, а именно )а! <Л!„то полагается а=О, что соответствует е= — 1 в формуле (6).
3. Накопление погрешностей округления. В процессе проведения вычислений погрешности округления могут накапливаться, так как выполнение каждой из четырех арифметических операций вносит некоторую погрешность. Будем в дальнейшем обозначать округленное в системе с плавающей запятой число, соответствуюшее точному числу х, через П(х) (от английского 1!оа(!пп — плавающий). Считается, что выполнение каждой арифметической операции вносит относительную погрешность не большую, чем 2-'.
Это предположение можно записать в виде (7) Н (ааЬ) =а*Ь(1+е), где звездочка означает любую из операций +, —, >с,:, и ) е( «2 '. Если результат выполнения арифметической операции является машинным нулем, то в формуле (7) надо положить е= — 1. Может показаться, что предположение (?) не обосновано, так как согласно (б) каждое нз чисел а и Ь записывается с относительной погрешностью 2-', следовательно, погрешность результата может достигнуть 2 — '+'. Однако ЭВМ обладает возможностью проводить промежуточные вычисления с двойной точностью, т.
е. с мантиссой, содержащей 21 разрядов, причем округлению до т разрядов подвергается лишь окончательный результат. Это обстоятельство позволяет добиться выполнения соотношения (7). Для оценки влияния погрешностей округления на результат того или иного вычислительного алгоритма очень часто используется предположение о том, что результат вычислений, искаженный погрешностями округления, совпадает с результатом точного выполнения этого же алгоритма, но с иными входными данными. Рассмотрим, например, процесс вычисления суммы уз + уз+ уз трех положительных чисел. Пусть сначала находится сумма у, )-у, Тогда согласно (7) получим г,=П(у,+у)=(уз+у.)(1+е,), ~е,(«2 Затем в результате сложения г, и у„получим число й=п (г,+ у ) = (г +у ) (1+в ), 19 где )е,) =2 '.
Таким образом, вместо точного значения суммы г получаем приближенное значение 2= (уз+уз) (!+ез) (1+ аз) +уз(1+ аз). Отсюда видно, что результат выполнения алгоритма (8), иска>не>/ный погрешностями округления, совпадает с результатом точного выполнения того же алгоритма (8), примененного к другим исходным данным у,= (1+е,) (1+ ез) ун /=1, 2 уз=(1+ез)уз.
На зтом же примере видно, что результирующая погрешность зависит от порядка выполнения операций, так что вычисление суммы (8) в обратном порядке (у,+у,)+у, может привести к другому результату. Приведенный пример имеет чисто иллюстративное значение, так как число слагаемых в сумме (8) невелико, а погрешности ез малы.
Практический интерес представляют оценки результирующей погрешности в зависимости от числа выполненных арифметических действий и. Однако прежде чем перейти к получению таких оценок, необходимо познакомиться с методами решения разностных уравнений. 4. Разностные уравнения первого порядка. Предположим, что ,надо вычислить сумму н гл = ~~ у/. /=1 Тогда вычисления организуются обычно следующим образом. Задается начальное значение г,=О и затем последовательно, начиная ,с /=1, находятся числа г/, связанные рекуррентным соотношением г,=г,+ун /=1, 2, ..., и, г,=О. (10) Для вычисления произведения "=Пу /.=з достаточно задать начальное значение г,=1 н воспользоваться ре- куррентнымн соотношениями (12) г,=уг, и /'=1, 2, ..., п, г,=!.
Уравнения (10) и (11) являются частными случаями линейного ризноггного иравненил первого порлдка (13) г/=//,гз,+згн /=1, 2, ..., и, где //н /г, — заданные числа, г, — искомые числа. Для уравнения (13) рассматривается задача с начальными условиями нли задача Коши, которая состоит в отыскании всех гн /=1, 2,..., п, при за- 20 данном начальном значении г,. Ясно, что решение задачи Коши для разностного уравнения (13) существует и единственно. Коэффициенты Чь правые части ~р, и искомое решение г, уравнения (13) можно рассматривать как функции целочисленного аргумента 1, т. с. Ч,=Ч(1'), ср,=ср(1), г,=г(1). Нам потребуется прежде всего записать решение уравнения (13) в явном виде. Подставляя в (13) вместо г;, выражение г~- =Ж- г~-з+Чг- получим г3 Ч1Ч3' — г — + Чв+Члр~— Теперь можно подставить сюда выражение для г, „затем — для г,, и т.
д, В результате получим формулу, в которой г; выражается через г; ь ф, ыь ~р,, „..., йрь Эта формула имеет вид 1 г;=ф~г~ ~+ '',~ ф1Мрм 1=1,2,,1 — 1,1, 1=1,2...п, г=г-м~ ( 4) где 1 , 1=0, (1 5) ЧгЧс- Ч~-м 1 « 1 « I. Строго доказать формулу (14) можно нндукцией по числу 1 при каждом фиксированном 1. Нам потребуется формула (14) при 1-1, т. е. гг=Онгч+'Я 0ь;~сРм 1'=1,2,,п, (! 6) где согласно (15) Яи-~ = 1, й=1, (17) ЧЧ;,...
Ч„,„о«й«1 — 1. В частности, если (13) является уравнением с постоянными коэффициентами, т. е. Ч~=Ч для всех 1, то из (16) получим гг = Чсг, + г; Ч' ~чм 1 = 1, 2,..., и. г г то для решения уравнения (13) справедливы оценки У ~г;) «Ч~)г,~+ 'Я Ч' "1'Г~), 1=1,2,...,и. (20) Явную формулу (16) можно использовать для получения различных оценок решения г; через начальные данные г„заданные коэффициенты Ч, и правые части ~Г,.
Л е м м а 1, Если для некоторого Ч)0 выполнены неравенства ~Ч,) «Ч, 1=1,2,,, и, (10) Доказательство. Из (17) и (19) получаем, что (!.)„,~ ~д -', у=0,1,..., 1. Отсюда и из (16) следуют оценки (20). 3 я меча вне. Оценен (20) нсулучюаемы в том смысле, что лля уравнения (!3) с нос!аниными возффнцнецтвмв н положнтельвымн лм тры Ь=), 2, .... Д неравенства (20) выполняются согласно ()В) со знаком равенстве.