Самарский А.А., Гулин А.В. Численные методы (1989) (1095856), страница 4
Текст из файла (страница 4)
В общем случае нужно стремиться, чтобы все указанные погрешности имели один и тот же порядок. Например, нецелесообразно пользоваться разностными схемами, имеющими точность 10 ', если коэффициенты исходных уравнений задаются с точностью 10 '. 3. Требования к вычислительным методам. Одной и той же математической задаче можно поставить в соответствие множество различных дискретных моделей.
Однако далеко не все из них пригодны для практической реализации, Вычислительные алгоритмы, предназначенные для быстродействующих ЭВМ, должны удовлетворять многообразным и зачастую противоречивым требованиям. Попытаемся здесь сформулировать основные из этих требований в общих чертах. Далее в частях П и П1 книги эти требования конкретизируются при рассмотрении алгоритмов численного решения типичных математических задач. Можно выделить две группы требований к численным методам.
Первая группа связана с адекватностью дискретной модели исходной математической задаче, и вторая группа — с реализуемостью численного метода на ЭВМ. К первой группе относятся такие требования, как сходимость численного метода, выполнение дискретных аналогов законов сохранения, качественно правильное поведение решения дискретной задачи. Поясним эти требования. Предположим, что дискретная модель математической задачи представляет собой систему большого, но конечного числа алгебраических уравнений. Обычно, чем точнее мы хотим получить решение, тем больше уравнений приходится брать.
Говорят, что численный метод сходится, если при неограни- !4 ченном увеличении числа уравнений решение дискретной задачи стремится к решению исходной задачи. Поскольку реальная ЭВМ может оперировать лишь с конечным числом уравнений, на практике сходимость, как правило, не достигается. Поэтому важно уметь оценивать погрешность метода в зависимости от числа уравнений, составляющих дискретную модель. По этой же причине стараются строить дискретную модель таким образом, чтобы она правильно отражала качественное поведение решения исходной задачи даже при сравнительно небольшом числе уравнений.
Например, дискретной моделью задачи математической физики может быть разностная схема. Для ее построения область изменения независимых переменных заменяется дискретным множеством точек — сеткой, а входящие в исходное уравнение производные заменяются на сетке конечно-разностными отношениями. В результате получаем систему алгебраических уравнений относительно значений искомой функции в точках сетки. Число уравнений этой системы равно числу точек сетки.
Известно, что дифференциальные уравнения математической физики являются следствиями ин. тегральных законов сохранения. Поэтому естественно требовать, чтобы для разностной схемы выполнялись аналоги таких законов сохранения. Разностные схемы, удовлетворяющие этому требованию, называются консервативными. Оказалось, что при одном и том же числе точек сетки консервативные разностные схемы более правильно отражают поведение решения исходной задачи, чем не- консервативные схемы.
Сходимость численного метода тесно связана с его корректностью. Предположим, что исходная математическая задача поставлена корректно, т. е. ее решение существует, единственно и непрерывно зависит от входных данных. Тогда дискретная модель этой задачи должна быть построена таким образом, чтобы свойство корректности сохранилось. Таким образом, в понятие корректности численного метода включаются свойства однозначной разрешимости соответствующей системы уравнений и ее устойчивости по входным данным.
Под устойчивостью понимается непрерывная зависимость решения от входных данных, равномерная относительно числа уравнений, составляющих дискретную модель. Вторая группа требований, предъявляемых к численным методам, связана с возможностью реализации данной дискретной модели на данной ЭВМ, т. е. с возможностью получить на ЭВМ решение соответствующей системы алгебраических уравнений за приемлемое время. Основным препятствием для реализации корректно поставленного алгоритма является ограниченный объем оперативной памяти ЭВМ и ограниченные ресурсы времени счета, Реальные вычислительные алгоритмы должны учитывать эти обстоятельства, т. е.
они должны быть экономичными как по числу арифметических действий, так и по требуемому объему памяти, 15 й 2. Погрешности округления 1. Представление вещественных чисел в ЭВМ. Одним из источников вычислительных погрешностей является приближенное представление вещественных чисел в ЭВМ, обусловленное конечностью разрядной сетки. Хотя исходные данные представляются в ЭВМ с большой точностью, накопление погрешностей округления в процессе счета может привести к значительной результирующей погрешности, а некоторые алгоритмы могут оказаться и вовсе непригодными для реального счета на ЭВМ. Напомним о способах представления чисел в ЭВМ н связанных с ними погрешностях округления. Более подробно этот круг вопросов рассматривается в [6, 8, 15, 29!. Прн ручном счете пользуются десятичной системой счисления.
Например, заяись 103,67 определяет число ! ° 10*+0 10'+3.10'+6 10 '+7 10 '. Здесь 10 — основание системы счисления, запятая отделяет дробную часть числа от целой, 1, О, 3, 6, 7 — числа из базисного набора (О, 1, 2, 3, 4, 5, 6, 7, 8, 9), с помощью которого можно представить любое вещественное число. ЭВМ работают, как правило, в двоичной системе, когда любое число записывается в виде последовательности нулей и единиц. Например, запись О, 0101 в двоичной системе определяет число 0"2'+О 2 '+1 2 '+О 2 '+1 2 '. Как двоичная, так н десятичная системы относятся к позиционным системам счисления. В позиционной системе с основанием г запись а=~а„а„ ,...
а„ а ,а , означает, что а=.+(а„г"+а„,г -'+...,+а,г'+а,г '+а,г'+...). Будем считать далее, что г — целое число, большее единицы. Каждое из чисел а; может принимать одно нз значений (О, 1,... ..., г — 1). Числа а; называются разрядами, например: а, — третий разряд перед запятой, а, — второй разряд после запятой. Запись вещественного числа в виде (1) называется также его представлением в форме числа с фиксированной запятой. В ЭВМ чаще всего используется представление чисел в форме с плавающей запятой, т. е.
в виде (2) а=Мг', где г — основание системы счисления, р — целое число (положительное, отрицательное нли нуль) и г'< !М~ (1. (3) Число М представляется в форме числа с фиксированной запятой и называется мантиссой числа а. Число р называется порядком числа а. В виде (2) можно единственным образом представить !в любое вещественное число кроме нуля. Единственность обеспечивается условием нормировки (3). Например, число 103,67 в форме с плавающей запятой имеег вид 0,10367 10', т. е. М=О,!0367, р=3.
Двоичное число 0,0101= =0,101 2 ' имеет в двоичной системе мантиссу М=0,101 и порядок р -1. рг 47 4О Рис. 2. Разрядная сетка В ЭВМ для записи каждого числа отводится фиксированное число разрядов (разрядная сетка). Например, в ЭВМ БЭСМ-6 для записи числа, представленного в форме с плавающей запятой, отводится 48 двоичных разрядов, которые распределяются следующим образом: в разрядах с ! по 40 помещается абсолютное значение мантиссы, в 41 разряде — знак мантиссы, в разрядах от 42 до 47 — абсолютная величина порядка, в 48 разряде — знак порядка (см.
рис. 2). Отсюда легко найти диапазон чисел, представимых в ЭВМ БЭСМ-6. Поскольку максимальное значение порядка в двоичной системе равно 111111=63 и мантисса не превосходит единицы, то с помощью указанной разрядной сетки можно представить числа, абсолютная величина которых лежит примерно в диапазоне от 2-" до 2", т. е. от 10дм до 10". Ту же 48-разрядную сетку можно использовать для представления чясел с фиксированной запятой.
Пусть, например, разряды с 1 по 24 отводятся для записи дробной части числа и разряды с 25 по 47 †д записи целой части числа. Тогда максимальное число, которое можно представить с помощью данной разрядной сетки, будет равяо 11 ... 1, 11. ° .! (2зв !О'. 23 разряда 24 разряда Следовательяо, в данном случае диапазон допустимых чисел в 10'з раз меньше, чем прн яспользовании представления с плавающей запятой.
Возможностью существенного увеличения диапазона допустимых чисел при той же разрядной сетке и объясняется преямущественное использование в ЭВМ представления чисел в форме с плавающей запятой. Комплексное число представляется в ЭВМ в виде пары вещественных чисел. 2. Округление чисел в ЭВМ. Будем считать в дальнейшем, что вещественные числа представляются в ЭВМ в форме с плавающей запятой.
Минимальное положительное число М„которое может быть представлено в ЭВМ с плавающей запятой, называется дгашинным нулем, Мы видим, что для ЭВМ БЭСМ-6 число М,-10-". Число М =- М,' называется машинной бесконечностью. Все вещественные числа, которые могут быть представлены в данной ЭВМ, расположены по абсолютной величине в диапазоне от М, до М . Если в процессе счета какой-либо задачи появится вещест- 17 а=-ь2п — + — + ...+ — + — + ... ) а, аз а, аьы ~2 2' (4) где каждое из аг равно О или 1.
Отбрасывая все лишние разряды, получим округленное число 1г а, аз а =+ 2з — + — -1- ... 1-— ~2 2з Таким образом, дли погрешности округления Йьм оста а — а = -1- 2л — + — +... ~,2ьы 2'~з справедлива оценка и ) а — а) (2 — ~1+ — + — + ...! = 2~ Далее заметим, что из условия нормировки )М) ~)О,Б (см. (3)) слелует, что в разложении (4) всегда а|=1. Позтому )а()2з.2-'=2з-', и дли относительной погрешности округления получим оценку 2 )п( При более точных способах округления можно уменьшить погрешность по крайней мере в два раза и добиться, чтобы выполнялась оценка ~(2 ' )а) $8 венное число, меньшее по модулю чем М„то ему присваивается нулевое значение.
Так, на ЭВМ БЭСМ-6 в результате перемножения двух чисел 10 " и 10 " получим нуль. При появлении в процессе счета вещественного числа, большего по модулю чем М, происходит так называемое переполнение разрядной сетки, после чего ЭВМ прекращает счет задачи. Отметим, что нуль и целые числа представляются в ЭВМ особым образом, так что они могут выходить за пределы диапазона М,—:М Из-за конечности разрядной сетки в ЭВМ можно представить точно не все числа из диапазона М,—:М, а лишь конечное множество чисел.