Бартеньев О. В. Фортран для профессионалов. Математическая библиотека IMSL. Ч. 1. М.: Диалог-МИФИ, 2000. - 448 с.
Многие разработчики уже воспринимают Фортран как некий рудимент, представляющий лишь исторический интерес. Но они не правы. Просто область применения компьютеров за последние десятилетия сильно расширилась и доля математических вычислений уменьшилась с почти ста до нескольких процентов. Однако в абсолютном выражении число приложений для вычислительных задач, несомненно, продолжает расти, и Фортран по-прежнему остается лидером среди инструментов для этой сферы.
Одна, но совсем не единственная причина этого - наличие огромного числа готовых наработок в виде так называемых наборов стандартных математических подпрограмм. Безусловно, самая известная из них - математическая и статистическая библиотека IMSL фирмы Visual Numerics (www.vni.com), которая уже давно используется на основе лицензирования во всех известных Фортран-системах, в том числе в Microsoft Fortran Powerstation и Compaq Visual Fortran. (Имеется также специальная версия IMSL для Си/Си++.)
Как известно, библиотека IMSL содержит более 1000 функций, объединенных в три группы:
1) общие математические (векторные и матричные операции, вычисление собственных значений, численные методы решения линейных и нелинейных уравнений, интегрирование и дифференцирование, интерполяция и аппроксимация, оптимизация и пр.);
2) специальные функции (функции Бесселя, Кельвина, Эйри, Матье, тригонометрические, гиперболические, эллиптические и интегральные функции, гамма-функции и т. д.);
3) статистические (кластерный, факторный и дискриминантный анализ и многое другое).
В рецензируемой книге рассмотрены процедуры библиотеки, относящиеся к первой группе. Остальным функциям будет посвящена вторая книга, которая должна появиться в продаже в ближайшее время.
Особо нужно подчеркнуть, что, помимо описания собственно процедур IMSL и примеров работы с ними, в первых главах книги детально рассмотрены общие вопросы компьютерных вычислений: особенности машинной арифметики, основные понятия линейной алгебры, а также методы и алгоритмы, используемые в IMSL. Это весьма важно, так как применение математических функций требует понимания заложенных в них механизмов. Всем специалистам известно, что вычислительные задачи насыщены многочисленными ловушками, преодоление которых без понимания численных методов и особенностей их компьютерной реализации просто невозможно.
При этом, опираясь на собственный опыт математического моделирования, хотелось бы подчеркнуть, что, несмотря на высокое качество процедур библиотеки IMSL, эффективное решение многих вычислительных задач зачастую требует от разработчика создания собственных вариантов аналогичных функций. Однако и в этом случае применение стандартных библиотек крайне необходимо, хотя бы в качестве некоторого эталона при отладке своих программ.
В настоящее время IMSL включает процедуры, отвечающие стандартам Фортран 77 и Фортран 90. Основная часть книги отведена под процедуры первой группы, так как она является более полной. Кроме того, многие программисты придерживаются этого стандарта языка. Вместе с тем при прочих равных условиях рекомендуется использовать библиотеку IMSL Fortran 90, о преимуществах которой подробно рассказывается в последней, десятой главе.
В заключение отметим, что автор книги уже не первый год сотрудничает с издательством “Диалог-МИФИ” и опубликовал несколько пособий по современному Фортрану (см. PC Week/RE, № 6/99, с. 20).
“Диалог-МИФИ”: (095) 320-4377; адрес: www.bitex.ru/~dialog.