Бабенко - Основы численного анализа (947491), страница 4
Текст из файла (страница 4)
т. е. представлен алгоритм приближенного вычисления бг2. С другой стороны, реализация этого алгоритма на любом компьютере предполагает, что вычисления по формуле 12) будут производиться с тем способом выполнения арифметических операций, который принят в дашюм компьютере. Поэтому сразу же возникает вопрос; как это повлияет па опенку (3) и вообще на сходимость итерационного процесса? В данном простом случае 15 'а 1, Лоотанооха оа0ач численноао анааиза легко разобрать вопрос о влиянии погрешностей округления на сходимость процесса и оценку погрешности.
Вообще же вычисления с конечным числом значащих цифр выдвигают целый ряд труднейших проблем и предьявляют довольно жесткие требования к вычислительным алгоритмам. 3. Краевая задача. Следующая задача довольно типична для области дифференциальных уравнений: требуется найти решение краевой задачи — 6~у/г1х~ ч'- фх)у =- Дх), х 6 [О, Ц, у(0) =- й(1) =. О. (5) Предположим, что Дх)., о(х) е С[0, Ц, (6) а оЮ~,=уап 5=1,2,...,п, з=з (7) где 4, = (рь~, р')+ (аою уху), З'ь = (рь, д.
тогда обьект, который нужно отыскать, будет элементом пространства Сз [О, 1'Ь Поскольку нас интересует приближенное решение, то нужно выбрать какой-либо метод приближенного реп~ения краевой задачи (5) и создать на его основе алгоритм численного решения. В процессе выполнения этой программы естественно столкнемся с целым рядом вопросов, которые помогут сформулировать основные проблемы дискретизации краевых задач, В качестве метода приближенного решения возьмем известный метод Бубнова — Галеркина. Будем рассматривать дифференциальный оператор В = — г(яяхя + ц(х) с нулевыми граничными условиями как оператор в Ля[0, Ц. Возьмем в Ля[0, 1 конечномерное подпространство Ао, выбеРем в нем базис ( дп ..., иоа) С Се[0, Ц, котоРый можно считать оР- тонормированным, и предположим, что элементы базиса удовлетворяют граничным условиям у (0) — -- Эо (Ц вЂ” —.
0 (~ — — 1, 2, ..., п). В качестве подпространства Хн можно, например, взять подпространство, натянутое на функции илйгйпхух О = 1, 2,...). Будем искать приближенное Решение задачи (5) в виде У„=-. 2 бь:Рю Положим Рн =.- ОУа -- 7' и пав=1 ' зовем эту величину невлзкой Ясно, что невязка, вообще говоря, пе обращается в нулин а наша цель состоит в том, чтобы выбрать величины сь (й — -- 1, 2,,... и) так, чтобы сделать невязку в некотором смысле минимальной. В зависимости от того, в каком смысле невязка считается минимальной, мы получаем тот либо иной метод приближенного решения задачи (5).
Потребуем, чтобы невязка ра принадлежала надпространству, ортогональному. к А". Тогда (рн,:р ) = 0 (у = 1, 2...., и), где (, ) —. скалярное произведение в Аз[0, Ц. В результате для определения величин (й = 1, 2,...,п)получим систему линейных уравнений Глава !. Поеьчаиовка задач численного ома иза ПРедполозким, что й(т) > д > О: тогда, обозначив чеРез Ро матРиЛЛУ системы (7), видим, что Р„- симметрическая леатрица и Ри > 61, где 1 — единичная матрица.
В самом деле, заметили, что при произвольных ВЕщЕСтВЕННЫХ ПЛ, ..., Леа а о С, ' е)ЛзбьЛО = ~ ~' ЛЛЛзл [(Лоь р) + (е1ты:р)1 = ~~Ф~!в+ ~ ЧФ' о е Л.,з=! й,з=! 0 Л, е Ф(л) с, йлЕзл(т). Учитывая неравенство й(т) > д и тот факт, что ь=! базис ортонормирован, получим ! ! ~ 4, поз! > / ОФве1я > 6 ~ФЯЛ1к = д~ц~ /с,з=! о о ь=! откуда слелует, что Ра > 61, Поэтому система (7) разрешима. Для определенности остановимся на методе Гаусса решения систем линейных уравнений (см, з 2 гл.
8), так что все сводится к вычислению коэффициентов и правых частей системы (7). Достаточно вычислить их с некоторой погрешностью еи. Поскольку указанные величины представляются в виде интегралов от известных функций, то для получения алгоритлеа численного решения краевой задачи достаточно выбрать некоторый способ вычисления интегралов, или, как говорят, квадратурную формулу (см. гл.
6). Пусть О < л! < тт « ... тм < 1 узлы квадратурной формулы, с. ( ! = 1, 2, ..., Ае) — весовые коэффициенты. Тогда ! гл (л- = /1(х)рл(х)е1х = ~ ~сз)'(хз)лол(хз), к =1. 2,..., и,, (8) о з=! Аналогичную формулу можно получить и для вычисления величин (Л-ы Л1лоз): (Эз~, Ло'). Однако если не иметь никакой априорной информации о функциях 1(т) и Л1(з!), кроме (6), то никакое наперед заданное число узлов Ае квадратурной формулы (8) не Ларантируег нам возможность вычисления, скажем, правых частей системы (7) с точностью е„, и потому невозможно построить алгоритм численного решения краевой зада ш (6).
Поэтому, фиксируя функцию о(т), мы вынуждены ограничить каким-то способом множество г возможных правых частей 7(т), с тех! чтобы существовал алгоритл! численного решения задачи (5). Ясно, что нет нужды задавать 7" (т) точно: можно задать эту функцию приближенно с погрешностью е, яо используя при этом конечный объем информации, скажем двоичные слова конечной длины. Говоря о погрешности, мы учитываем (6), поэтому нужно рассматривать Е как подмножество в С[О, 1].
17 З 1, 77ооотаноока за0ач чиолонвозо анализа Тем самым на Е будет индуцироваться метрика пространства С(0, 1], и величина погрешности определяется с помощью этой метрики. Таким образом, множество Е должно оыть таковым, чтобы любой его элемент можно было задать с любой наперед заданной погрешностью и с помощью конечного числа битов.
Напомним, что бит двоичная цифра; байт — основная единица информации, равная 8 битам: 1 Кбайт (или 1 кбайт) равен 21в байтам, или 1024 байтам. Без ограничения общности можно считать., что К замкнуто, и, следовательно, по теореме Хаусдорфа (см. теорему 3, п. 1 з 1 гл. 2) множество Р с С,'О, 1) является компактом. Тем самым мы приходим к следующей естественной постановке задачи: построить алгоритм численного решения краевой задачи (5), предполагая. что функция й(х) фиксирована, а Дл) ~ К, где К -- некоторый компакт. Злмйчаний 1.
Хотя в формулировке задачи (5) участвуют две функции, а именно Дл) и ц(к), однако они не равноправны: функция й(з') -- коэффициент (определяет впд дифференциального оператора), а функция 7(л) -- правая часть. Задача (о) определяет отображение А: ( н у, где р -- решение краевой задачи, и тем самым определяет отображение Л: К вЂ” У, где У с С(0, Ц -- компакт, являющийся образом компакта Е. Замкчлник 2. Может сложиться впечатление, что мы пришли к необходимости введения ограничения на множество возможных правых частей из-за выбранного нами метода Бубнова — Галеркина, где сразу же приходится сталкиваться с проблемой вычисления интегралов. Если о(и) = — О, то решение задачи (5) имеет вид р(т) .— —. — / К(т, 1) )(г) пг, о где К(л, 1) = 1 — л при 1 < т и К(х, 1) = 1 — 1 при х < й Поэтому фактически мы всегда имеем дело с проблемой вычисления интегралов, и любой метод численного решения задачи (5) будет и методом вычисления интеграла (9).
Стало быть, при любом методе численного решения мы сталкиваемся с теми же затруднениями, что и выше. 4. Массивы. Чтобы построить алгоритм численного решения задачи (5), нам достаточно иметь формулы (7), (8) и аналогичные формулы для вычисления скалярных произведений (рь~, Зз'), (оль.,д ) (Й, у = — 1, '2, ..., и). Остается еще описать массивы, с которыми будем работать.
Помимо различных служебных массивов, нужных для работы с выбранным базисом ~рм ..., ~рн, в задаче имеются два основных: массив, описывающий ((т) (последовательность вещественных чисел (1(х1), ..., Дтм)), и массив вещественных чисел Дм ...,,«о), описывающий у(т). Но эти массивы лишь полуфабрикаты, поскольку при вычислениях на ЭВМ мы имеем дело не с иррациональными, а с рациональными числами, принадлежащими некоторому коне тому множеству С2, Глава 1. Постановка видав численного она иоа 5. Алгоритм.
Положим, например,:р (х) =;е 2 э1п яу'х (у' = 1, 2,,'л), Нетрудно подсчитать, что Иь = хеьлбьо + й,ь ~ — йьэ, 1 где бьв -- символ Еронекера и ое = / 4(х) сов я1хе1хь Используя для вь- ю числения формулу трапеций, имеем где Ге = 1(1,е(Х -г 1)) (1 — -- 1, 2, ..., Л"), 1,О = дЯЪ|) (1 =- О, 1,, М). Для восстановления решения применяем формулу а и у(х) = у"(х) = ~~~ ~ьзс~(х) = ъ'2~ Сьв1пхйх. о=1 ь=1 (10) Приведем программу на фортране для решения краевой задачи (5); ГПХСТ10Х Ъ (Х) П1МЕХ810г1 ГТАВ(20) ь4ТАВ(21),СЯ(40) ВХ(42), ЫЭ (20,21) Д (42),1Х0ЕХ(20,2) С0518Т1=.=8Ь4ВТ(2.) !(М 1.) Р1...:3.141592653589 Р1БЯ.
—.Р1а а 2 Я4В2:.:Я4ВТ(2.) 540 = йом М1 -:М-;1 М2=М -.1 ЯО-2*(Х+1) ПО 100 Ь=1,Х 100 ГТАВ(Ь) =ГЬХГ(Ь/ (51 — '1.) ) ПО 1011=!,М1 101 ЧТАВ(Ь) =ГНИ®(Ь вЂ” 1.),'М) ПО 102 1=1,МО 102 СЯ(1)=СОЯ(Р1а1,еМ) ПО 103 1=1,1хО 103 81х(1)=Б!51(Р1*1,'( хвл 1.)) В= — 1. определяемому данным компьютером.
Поэтому мы и должны описать указанные массивы не как массивы вещественных чисел, а как массивы чисел из Я или, если угодно, как элементы Я~ и се" соответственно. Зафиксировав все на некотором формализованном языке, мы и получим описание алгоритма, или программу для решения краевой задачи. 19 З 1, Лостаноона оаг1ач численного анализа ВО Ю4 К=::1.,КО в=-в В=о ВО 105 Е=1,М2 1С=(К-1)*1,-1 1А: 1С вЂ” 1С, МО*МΠ—:1 10б Я:: Я-гь) ТАВ(Е) асЯ(1Л) 104 ®К)(ЯТАВ(1)-~Ва1)ТАВ(М-~1))ао.б — Я),'М ВО Юб К=1,К ВО 107 2=1,7ч К1=1АВВ1 К вЂ”,1) Ю7 В(К,2):..б)(КД+1)-1)(К вЂ”.,1 1) 106 В(К,К)=В(К,К)-~РЩгкаа2 ВО 100 К=1,К В=о. ВО 110 т.="1,Х 1С.-:К*к-1 !А---1С вЂ” 1СУХО 1~10-1 110 В=За ЕТЛВгр,) ад~ДА) 1оо в1к,х+ 1) =совету.В САУЛ.