БУКИНИСТ

Букинист. Алфавитный каталог. Тематический каталог.



Индекс книги: 00115.
ББК 22.19. Вычислительная математика.

Матричные вычисления и математическое обеспечение.

Дж. Райс.

Перевод с английского О. Б. Арушаняна.

Матричные вычисления и математическое обеспечение: 1984 г., 264 стр., ил.

В книге рассматриваются этапы конструирования практических вычислительных алгоритмов на примере решения систем линейных уравнений. Материал изложен просто и понятно. Приводится описание нескольких пакетов и библиотек программ, созданных в последние годы в США и Великобритании и нашедших широкое практическое применение.

Для математиков-прикладников, программистов, студентов и аспирантов университетов.

Предисловие редактора перевода.

Известно, что в настоящее время стоимость математического обеспечения вычислительных машин составляет существенную часть общей стоимости вычислительных систем. Это соотношение, по-видимому, не только сохранится в будущем, но, скорее всего, изменится в сторону еще большего увеличения относительной стоимости математического обеспечения. Очевидно, что в этих условиях высокое качество становится одной из важнейших характеристик математического обеспечения, особенно с точки зрения гарантии достоверности его работы.

Математическое обеспечение создается специалистами, которых почему-то принято называть программистами, хотя, как правило, они имеют специальное математическое образование. Но если роль математического обеспечения постоянно возрастает, то этого никак нельзя сказать в целом о положении программиста в научном обществе. К сожалению, до сих пор для специалиста-математика считается престижнее доказать какую-нибудь теорему и построить какой-нибудь численный метод на бумаге, чем сделать и внедрить в практику хорошую программу. Причин подобного отношения к труду программистов довольно много, но главная заключается в устойчивой недооценке и даже непонимании тех трудностей, с которыми приходится сталкиваться при создании высококачественного математического обеспечения.

Вниманию читателя предлагается книга Дж. Райса “Матричные вычисления и математическое обеспечение”. В ней автор попытался на примере достаточно простых задач, связанных с решением систем линейных алгебраических уравнении и проблемы среднеквадратичного приближения, рассказать и детально проанализировать особенности и трудности создании соответствующего математического обеспечения.

Эту книгу не стоит читать “по диагонали” — пользы от такого чтения будет немного. Внешне материал выглядит достаточно простым, математический аппарат хорошо известен, хотя некоторые аспекты, связанные с оценкой достоверности получаемых результатов могут быть интересны и квалифицированному специалисту. Главное заключается в другом - именно на этих хорошо известных в математике задачах показано, как трудно создать хорошую программу даже в той области, где кажется, что уже нет никаких проблем.

В книге затрагивается очень много вопросов, связанных с разработкой высококачественного математического обеспечения. Многие из них рассмотрены весьма схематично. Однако большим достоинством книги является то, что рассмотрен весь спектр основных вопросов. Эта книга, безусловно, будет интересна нашим читателям, особенно тем из них, кто хочет понять, почему до сих пор так мало хороших программ и как создавать хорошие программы.

В. В. Воеводин.

Предисловие.

Эта книга объединяет два очень разных, но дополняющих друг друга предмета: матричное исчисление и математическое обеспечение. Решение линейных уравнений представляет собой типичный образец численных расчетов, которыми занимались еще в древности. Это основной “строительный блок” для алгоритмов решения задач науки, техники, промышленности и любой другой области человеческой деятельности, в которой используются математические модели. Математическое обеспечение стало наиболее распространенным средством проведения численных расчетов вследствие значительного повышения надежности и существенного снижения себестоимости его компонентов. Матричное исчисление может послужить идеальным введением для изучающих математическое обеспечение, поскольку оно является ясной, простой (но в то же время не слишком простой) областью знаний, полезной для всех технических приложений.

Цель той части книги, которая посвящена матричному исчислению заключается в том, чтобы представить основные алгоритмы решения линейных систем и расчетов по методу наименьших квадратов (статистической регрессии). Более сложные задачи вычисления собственных значений и сингулярного разложения здесь опущены. Однако, мы непосредственно сталкиваемся с наиболее трудной проблемой, возникающей в численных расчетах: как узнать что получены верные ответы? И опять матричное исчисление оказывается идеальным средством для исследования этой центральной проблемы.

Особое значение придается пяти аспектам математического обеспечения: учету человеческого фактора, оценке рабочих характеристик математического обеспечения, технологии создания его компонентов, конструированию алгоритмов и обучению студентов навыкам разработки программ. Эти аспекты относятся к общим вопросам проектирования математического обеспечения, и здесь также матричное исчисление оказывается очень полезным.

Оценку рабочих характеристик математического обеспечения легче всего проводить на известных стандартных задачах; задачи матричного исчисления как раз подходят для этой цели. Однако даже в этой области нелегко дать такого рода оценку, поскольку цели, преследуемые при создании математического обеспечения, часто оказываются противоречивыми, а различные виды затрат трудно сопоставлять ввиду отсутствия единого критерия. В истории развития математического обеспечения было гораздо больше неудач, чем успехов. Тем не менее мы должны проявлять настойчивость — слишком высоки затраты кустарного производства. Кроме того, использование компонент математического обеспечения делает проверенные на практике идеи и опыт специалистов доступными даже для тех, кто недостаточно знаком со специальными приемами численных расчетов.

Учебные проекты, приведенные в гл. 12, преследуют три цели: (1) практика в использовании математического обеспечения, созданного специалистами, (2) приобретение опыта в практических вопросах проектирования математического обеспечения и конструирования алгоритмов, (3) ознакомление с более значительными программными комплексами. По каждому проекту учащимся следует написать хорошо организованный и аргументированный отчет. Рекомендуется большинство проектов давать на группу из двух-четырех студентов; это позволит им не только приобрести дополнительный опыт коллективной работы, но и участвовать в существенно более глубоких исследованиях.

Предполагается, что читатели знакомы с линейной алгеброй или теорией матриц в объеме вводного курса и имеют солидную подготовку в программировании — предпочтительно на Фортране, так как большая часть существующего математического обеспечения написана на этом языке. Книга предназначена для студентов младших и средних курсов, однако старшекурсникам и аспирантам она также может быть полезной. При более высокой подготовке учащиеся могут, например, более глубоко проанализировать предлагаемые проекты.

Общий объем материала достаточен для курса длительностью в полсеместра или семестр. Книга пригодна также в качестве подготовительного этапа для более широкого или более специализированного курса. Она основана на курсе лекций, в котором часть материала читалась в течение 8 недель, а затем лектор переходил к линейному программированию и нелинейной оптимизации.

Я благодарю Карла де Бура, Ричарда Хэнсона, Роберта Линча и Гарольда Стоуна за ценные предложения как по деталям, так и по организации книги в целом. Я также благодарю Джона Рейда, предоставившего примеры разреженных матриц для четвертой главы. Разрешения на использование материала, включенного в Приложение, получены от издательств Academic Press , ACM и SIAM.

Джон Р. Райс.

ОГЛАВЛЕНИЕ.

Глава 1. ВВЕДЕНИЕ.

Глава 2. ОСНОВНЫЕ ПОНЯТИЯ ЛИНЕЙНОЙ АЛГЕБРЫ.

Глава 3. КЛАССЫ И ПРОИСХОЖДЕНИЕ ЗАДАЧ МАТРИЧНОГО ИСЧИСЛЕНИЯ.

Глава 4. ТИПЫ МАТРИЦ.

Глава 5. МЕТОД ИСКЛЮЧЕНИЯ ГАУССА И LU-РАЗЛОЖЕНИЕ.

Глава 6. ОБЩИЕ ПРОБЛЕМЫ МАТЕМАТИЧЕСКОГО ОБЕСПЕЧЕНИЯ.

Глава 7. ОЦЕНКА ХАРАКТЕРИСТИК МАТЕМАТИЧЕСКОГО ОБЕСПЕЧЕНИЯ.

Глава 8. КАК УЗНАТЬ, ЧТО ПОЛУЧЕНЫ ПРАВИЛЬНЫЕ ОТВЕТЫ?

Глава 9. ОБУСЛОВЛЕННОСТЬ И ОБРАТНЫЙ АНАЛИЗ ОШИБОК.

Глава 10. ИТЕРАЦИОННЫЕ МЕТОДЫ.

Глава 11. ЛИНЕЙНАЯ ЗАДАЧА НАИМЕНЬШИХ КВАДРАТОВ И РЕГРЕССИЯ.

Глава 12. УЧЕБНЫЕ ПРОЕКТЫ.

Приложение. ТИПОВОЕ МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДЛЯ

ЗАДАЧ ЛИНЕЙНОЙ АЛГЕБРЫ.

Литература.

Именной указатель.

Предметный указатель.