Главная » Просмотр файлов » Джордж, Лю - Численное решение больших разреженных систем уравнений

Джордж, Лю - Численное решение больших разреженных систем уравнений (947498), страница 48

Файл №947498 Джордж, Лю - Численное решение больших разреженных систем уравнений (Джордж, Лю - Численное решение больших разреженных систем уравнений) 48 страницаДжордж, Лю - Численное решение больших разреженных систем уравнений (947498) страница 482013-09-15СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 48)

Такой интерфейс представляет собой попросту слой подпрограмм между пользователем, у которого предположительно имеется необходимость в решении разреженной системы уравнений, и подпрограммами,' 4 В.2. Вазисяая структура пакета 5РАй5РАК 31! реализующими методы данной книги (см. рис. В.!.!). Этот интерфейс вместе с подпрограммами, которые он обслуживает, составляет пакет, которому мы дали название БРАКЬРАК (Пеогпе )979а).

Помимо подпрограмм нз глав 4 — 8 и подпрограмм интерфейса, 8РАКЬРАК содержит также ряд служебных подпрограмм для печатания сообщений об ошибках, изображений структуры разреженных матриц н т. д. Интерфейс выполняет ряд функций. Прежде всего он освобождает пользователя от всякой заботы о оаспоеделении памяти Рнс. В.1.1. Схематическое нзоорзжепне компонент пзкетз 5РАк5РАК.

для массивов. Вся память распределяется интерфейсом в границах задаваемого пользователем одномерного массива; при этом применяется техника, сходная с той, что описана в в А.З. Устанавливается также контроль правильности порядка прн вызове подпрограмм интерфейса. Кроме того, пользователю предоставляются удобные средства приостановки и последующего возобновления вычислений. Наконец, имеется развернутая диагностика ошибок.

Назначение последующих параграфов — дать краткий обзор различных возможностей БРА)хБРАК; они отнюдь не являются инструкцией для пользователя. Подробная инструкция для пользователя и указания по «наладке» пакета поставляются вместе с ним. Необходимую информацию читатель может получить у авторов. й В.2.

Базисная структура пакета 8РАРЗРАК Для любого из методов, описанных в главах 4 — 8, взаимодействие пользователя и ЬРАКБРАК при решении системы Ах = Ь охватывается следующей схемой: ШЯ Приложение В. оРАКЗРАК: Пакет длл раэреженных матриц Шаг ! (Ввод структуры), Пользователь задает пакету структуру ненулевых элементов матрицы А, обращаясь к соответству. ющим подпрограммам интерфейса. Шаг 2 (отпорядочение и распределение памяти), Выполнение в программе пользователя оператора вызова специальной под- ч~р(нецииро Ванне Бризрк тэвесм 1М13(1, Я, 3) тмнои(1, мн, ш, Б> 1М1111(М18, 11, 11, Б) 1мсы)(мсы), сы), з) 11ЕМО(З) Вуоу апрукагурат (Шог 1) 'йпорлУотение и раснреУеленае ) наматии ГШаг 2. Сншел еимУолоУ х и ! раав неннет рис.

В,ЗА) оноих((з> ПЧАШ (1, 1, ЧАЬПЕ, З> ПЧНОН (1, Мтн, 1И, ЧАЬОЕЗ, З> тнмат((М11, 11, 11, чаьокз, Б)! 1МВ1(1, ЧАЬОЕ, 3) 1МВ1В1(М1, 11, ЧАЬПЕЗ, Б) 1МННБ(ННЗ, З) Вуек мошрицм (Шог 3) Вбод нроУош чааоей сШиг б) Разложение и решение (Шаги 4,и 6) Босое!(3) программы служит для пакета указанием на необходимость вычисления упорядочения и формирования структуры данных для л., Шаг 3 (Ввод матрицы). Пользователь задает числовые значения элементов А, обрашаясь к соответствуюшим подпрограммам интерфейса. Шаг 4 (Разложение А).

Вызов специальной подпрограммы служит для пакета указанием на необходимость разложения А в произведение !.Е,т. Шаг 5 (Ввод правых частей). Пользователь задает числовые значения компонент Ь, обращаясь к соответствующим подпрограммам интерфейса, (Этот шаг может быть выполнен до шага 4 и объединен с шагом 3.) Шаг б (Решение). Вызов специальной подпрограммы служит для пакета указанием на необходимость вычисления х, исходя из полученной на шаге 4 матрицы !.

и вектора Ь, введенного на шаге б. Рнс. В.2.!. Наэааиия некоторых подпрограмм интерфейса иэ пакета оРАйв- РАК. Р В.З. Головная программа иольвоватвля 3!3 Названия некоторых подпрограмм интерфейса вместе со списками аргументов и общими функциями приведены на рис. В.2Л. Детали можно найти в последующих разделах.

В В.З. Головная программа пользователя — пример ЗРАВЗРАК распределяет всю память в границах единого одномерного вещественного массива, который нам удобно будет обозначать через 3. Помимо этого массива пользователь должен задать и его длину МАХЗ, которая передается пакету через общий блок ~ЗРКЦЫ), содержащий четыре переменных: СОММОЬ) /ЗРКЦЗК/ МЗО(АГ1, 1ЕЕК, МАХЗ, Ь)Е(1Ь)З Здесь МБО(.'1т(,— указатель уровня печати, используемый для управления количеством информации, которая печатается пакетом. Вторая переменная 1ЕКй — индикатор ошибки, посредством которого программе пользователя сообщается об ошибках, найденных пакетом. Переменная Ь)ЕЯЬ)5 — это число уравнений, устанавливаемое пакетом. Приводимая ниже программа показывает, как используя БРАКЗРАК, решить систему уравнений Ах = Ь профильным методом главы 4, Рассматриваемая система имеет порядок 1О и симметричную трехдиагональную матрицу А.

Все диагональные элементы А равны 4, наддиагоиальные и поддиагональные элементы равны ( — 1), все компоненты вектора Ь равны 1. Цифра 1 и буква к в именах некоторых подпрограмм интерфейса указывают, каким методом должна решаться задача. Здесь мы должны отметить, что ЗРАКБРАК позволяет решать как симметричные, так и несимметричные системы. В последнем случае предполагается, что структура матрицы А симметрична и что не нужен выбор главного элемента для обеспечения устойчивости (см. упр. 4.5.1). На рис. В.З.1 указаны методы, входящие в состав пакета.

ПРОГРАММА, ИЯЛЮСТРИРУКНЦЛЯ ИСПОЛЬЗОВАНИЕ ВРАЯВРАК . совке 1агкиза1 изоьчь, тики, млхз, неона иелп з(260) САЬЬ ЗРКЗРК мякз вза ВВЕСТИ СТРУКТУРУ МАТРИЦЫ . ДИАГОНАЛЬ ВСЕГДА ПРЕДПОПЛГЛЕТВВ НЕНУЛЕВОЙ Т.К. МЛТРИЦА СИММЕТРИЧНЛт ВВОДИМ ТОВЬКО позиции поддилгонлльных элементов. СЛ1.1. 13ВЕОН ОО 1ОО 1 . З, гв 314 Приложение В. ЗРА)(ЗРАК: Пакет для разряженных матриц САЬЬ 1М11( 1, 1-1, $ ) СОМТ1МСЕ САУЛ. 11$))0( $ ) 100 С С С НАЙТИ УПОРЯДОЧЕНИЕ И РАСПРЕДЕЛИТЬ ПАМЯТЬ ° ° САН.

ОапнА1( $ ) С С С ВВЕСТИ ЧИСЛОВЫЕ ЗНАЧЕНИЯ. (НИЖНИЙ ТРЕУГОЛЬНИК). 00200 1 1, 10 1Р ( 1 .01.1 ) САП. 1МА111( 1, 1-1, -1.0, $ ) СА13. 1МА111( 1, 1, 4.0. $ ) СА).1. 1МВ1( 1, 1.0, $ ) сомт1МСЕ 200 С С С С С РЕШИТЬ СИСТЕМУ. Т.К. МАТРИЦА И ПРАВАЯ ЧАСТЬ СИСТЕМЫ УЖЕ ВВЕДЕНЫ т ТО ПОДРЯД ВЫПОЛНЯЮТСЯ РАЗЛОЖЕНИЕ И РЕШЕННЕ ТРЕУГОЛЬНЫХ, СИСТЕМ. САУЛ. $0ЬУЕ)( $ ) С С С С ВЫВЕСТН НА ПЕЧАТЬ РЕШЕНИЕ, НАХОДЯЩЕЕСЯ В ПЕРВЫХ 10 ПОЗИЦИЯХ РАБОЧЕГО МАССИВА 3. ИЯ1ТЕ(6, 11) ($(1), 1 ° 1, 10) Роамлт(/ 10Н зоьпт1ОМ /, (5Р10,$)) 11 С С С ВЫВЕСТИ НА ПЕЧАТЬ СТАТИСТИКУ СОБРАННУЮ ПАКЕТОМ. САЬЬ РЗТАТ$ $ТОР ЕМС опоил) л / Ссылка Осясаснс Рис.

В.3.1. Методы, входяп(ие в состав пакета $РАк5РАК Подпрограмма оркоРК должна вызываться до обращения к какой-либо части пакета. Ее роль состоит в инициировании некоторых системных параметров (например, логического номера печатающего устройства), присвоении значений тем переменным А 1 А 2 А 3 А 4 В 3 В,( а А 6 В 6 В 6 Упорядочение Упорядочение Упорядочение Упорядочение Упорядочение Упорядочение Упорядочение Упорядочение Упорядочение Упорядочение ПСМ; симметричная 4 ПСМ, несимметричная 4 1(УР симметричная А 1тл)Р несимметричная 4 И(ет симметричная А ПЯТ несимметричная А )ЧР симметричная А МР несимметричная А РМР,симметричная А ((МР, несимметричная 4 Гл.

4 Гл. 4 Гл. 1 Гл. 7 Гл. 6 Гл. 6 Гл. 8 Гл. 8 Гл. 6 Гл. 5 э В.4 Краткое описание основных подпроерамм интерфейса Згв (например, указателю уровня печати), которые не определены пользователем, и выполнении некоторых машинно-зависимых функций (например, запуск программы измерения времени). В программе пользователя 5РР5РК следует вызывать только один раз. Заметим, что единственная переменная в общем блоке ~5РК()5К), которой пользователь должен присвоить значение,— это МАХ5. В пакете имеется подпрограмма интерфейса, именуемая Р5ТАТ5, к которой пользователь может обратиться за информацией о памяти, времени, числе операций и т.

д. прн решении системы. Предполагается, что подпрограммы, составляющие 5РАК5РАК, оттранслироваиы и помещены в библиотеку и что пользователь может обратиться к ним из фортранной программы, как обращаются к стандартным библиотечным подпрограммам Фортрана 5Щ СО5 и т. д, Обычно пользователю нужна лишь небольшая часть подпрограмм 5РАК5РАК. й В.4. Краткое описание основных подпрограмм интерфейса В,4.А Модули для ввода структуры матрицы 5РАВ5РАК должен знать структуру матрицы, прежде чем он сможет определить подходящее упорядочение для системы.

В 5РАВ5РАК имеется группа подпрограмм, которые предоставляют пользователю разнообразные способы информирования пакета о расположении ненулевых элементов, т. е. передачи ему пар индексов (1, !) таких, что ап чь О. До вызова любой из этих подпрограмм ввода пользователь должен обратиться к подпрограмме инициирования, называемой 1ЯВЕО!ч, которая сообщает пакету, что предстоит решить систему с новой структурой. а) Ввод ненулевого элемента, Чтобы сообщить 5РАЙ5РАК, что матричный элемент аи нв равен нулю, пользователь просто выполняет оператор СА1.1. 11ч1! (1, 3, 5), где 1 и Л вЂ” индексы ненулевого элемента, а 5 — рабочий массив, описанный пользователем и эксплуатируемый пакетом.

б) Ввод структуры строки или части строки. Когда известна структура строки или части строки, то может оказаться более удобной подпрограмма 1!чй0%. Соответствующий оператор— СА) 1. [Х!(0% (1, !41й, И, 5), где 1 обозначает номер рассматриваемой строки, 1й — массив, содержащий столбцовые индексы всех или части ненулевых элементов 1-й строки, И!й — число индексов в !К, а 5 — описанный 3>6 Прилоаеение В.

8РАЦБРАК Пакет для разреекеннмк матриц пользователем рабочий массив. Индексы могут быть расположены в массиве 1(< в произвольном порядке, и строки также можно вводить в любом порядке. в) Ввод структуры подматрицы, ЬРА(<ЗРАК позволяет пользователю вводить структуру подматрицы Оператор вызова имеет вид: СА1Л. 11( 1л 1Л (Ы1Л, 11, Л, 3), где в(1,) — число вводимых пар индексов, а П и Л вЂ” массивы, содержащие эти индексы. г) Ввод заполненной подмагрицы. Структура матрицы будет вполне известна, если заданы все ее заполненные подматрицы, В тех случаях, когда такие подматрицы легко определить, полезна подпрограмма !г!СЩ.

Она вызывается оператором СА1.1. 1В)СЩ (1чСЩ, СЩ, Ь), где !)С٠— порядок подматрицы, а С٠— массив, содержащий индексы подматрицы. Так, чтобы сообщить пакету, что подматрица, соответствующая индексам 1, 3, 5 и 6, заполнена, достаточно следующего текста: сьо<» - > сз.<>< 2 > 3 с>л><з> . з сь<><я> - в сльь <нс>>><я, с>л>, з> Какую именно подпрограмму ввода применить, зависит от обстоятельств, в которых пользователь получает структуру матрицы.

Характеристики

Тип файла
DJVU-файл
Размер
3,46 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6390
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее