Язык программирования Фортран и численные методы
Автор cайта:
Владимир
Потемкин

fortran-90@yandex.ru
WWW.pvbk.spb.ru
Язык программирования Фортран

А что такое "Фортран"?

Немного истории

Фортран (Fortran) был создан в 1956 г. и был одним из первых языков высокого уровня, появившихся на свете. Этот язык умел понимать формулы, записанные в форме, похожей на обычную математическую запись. Отсюда и произошло название языка - FORmula TRANslation, т.е. перевод формул (на язык ЭВМ). В 60 - 70 годы прошедшего века Фортран приобрел чрезвычайную известность и популярность. Подавляющая часть научно-технических и математических вычислений производилась именно на Фортране, доля других языков была несущественна. Популярности языка способствовала его простота и легкость изучения. Нужно так же учитывать, что Фортран существенно опережал другие языки и по быстродействию, и по компактности генерируемого кода - главным образом благодаря использованию более простых конструкций языка и их эффективной реализации. Что, в общем то, и понятно, т.к. этот язык и создавался для выполнения математических расчетов.

Однако надо признать, что Фортран того периода не был тем языком, на котором легко и удобно программировать. Жесткая структура программы, довольно примитивный набор операторов управления (без оператора GOTO написать программу было практически невозможно), слабые средства описания данных делали написание программы на Фортране не самым веселым занятием. Принятие новых стандартов языка в 1990, 1995 и 2003 гг. позволило существенно исправить положение. Фортран обогатился новыми конструкциями и в то же время избавился от устаревших и ненужных. На данный момент Фортран во многом догнал, а в чем-то и перегнал своих конкурентов и превратился в мощный и современный язык. Неизменной в языке осталась его основа - Фортран по-прежнему язык для описания численных методов и для выполнения математических вычислений.

Фортран сегодня

На сегодняшний день Фортран занимает довольно скромное место среди языков программирования и его известность никак не может сравниться с былой популярностью в 60-70-е годы. Этому можно дать простое объяснение. Появление и широкое распространение персональных ЭВМ в 80-90-е годы позволило общаться с компьютером не только отдельным программистам, а очень и очень многим. ЭВМ стали появляться везде - и дома, и на работе. Сейчас трудно себе и представить даже самый маленький офис или контору, научный или учебный центр без компьютера. Программирование вторглось в нашу жизнь почти повсеместно, а вместе с новыми программами пришли и новые языки программирования. Доля математических расчетов среди всех прочих вычислений существенно сократилась, сократилась и доля Фортрана среди прочих языков.

Но Фортран не умер, как некоторые его старые конкуренты (Algol 60 и Algol 68, PL/1). Фортран жив. В чем же причина такого долголетия?
   Фортран занимает свою нишу - решение научно-технических задач и математическая обработка числовых данных. Сама структура языка наиболее оптимально соответствует этой сфере применения. Кроме этого нужно отметить еще и следующее:
   Межплатформенная совместимость. Программа, написанная на Фортране для персональной ЭВМ, будет работать и на мини-ЭВМ, и на макро, и на супер-компьютере. В основе этой совместимости лежит достаточно жесткий стандарт, которого стараются придерживаться все разработчики компиляторов для любых ЭВМ. Противоположным примером может служить язык Бейсик в период своей популярности в 90-е годы - что ни компилятор, то свой диалект.
   Высокая эффективность исполняемого кода. Фортран всегда превосходил другие языки по этому показателю, превосходит он их и сейчас. Разработчики компиляторов с Фортрана всегда уделяли эффективности особое внимание, а структура языка способствует этому.
   Огромный объем готовых математических разработок. На языке Фортран создано великое множество всевозможных библиотек. Они служат отличным пособием при изучении численных методов и алгоритмов, а также при решении новых задач. Одна из наиболее известных и популярных библиотек — IMSL фирмы Visual Numerics — включает свыше тысячи процедур математической и статистической обработки данных и фактически является стандартом на самых различных компьютерных платформах.
   Простота изучения. Фортран не сложный язык. Даже после стандарта 1990 г. (самая значительная переделка языка, когда появилось много новых конструкций), язык не стал сложнее, скажем, того же Си. Кто сумел изучить Си, наверняка сможет изучить и Фортран.

Библиотека NML

Библиотека NML (Nmerical Method Library) - библиотека численных методов на языке Фортран. Данная библиотека составлена автором сайта и включает в себя программную реализацию на языке Fortran 90 некоторых распространенных численных методов. Большая часть программ из этой библиотеки заимствована из различных открытых источников, часть программ написана самим автором. Библиотека небольшая и содержит реализацию только очень малой части из всех существующих на данный момент численных методов, но, автор надеется, что в течение некоторого времени ему удастся существенно пополнить эту библиотеку.

Читатель спросит, зачем нужна новая библиотека, если уже существует довольно большое количество библиотек по численным методам. Есть библиотека IMSL, которая доступна практически каждому, кто программирует на Фортране, при помощи которой можно решить подавляющее число математических и научно-технических задач (поставляется фирмой Compaq вместе с компилятором). В Интернете размещена достаточно полная Библиотека Численного Анализа НИВЦ МГУ (num-anal.srcc.msu.ru/lib_na/cat/cat0.htm). Так зачем же нужна еще одна? Ответ на этот вопрос будет простой. Библиотека NML содержит не только исходные тексты программ на языке Fortran 90, но и краткое описание примененных численных методов.

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

Широкое использование проверенных и отлаженных алгоритмов даёт большой экономический эффект: экономится рабочее время программистов и время вычисления конечной задачи на ЭВМ. Облегчается написание программы пользователями, которые не являются программистами.

Библиотека NML - это библиотека исходных текстов на языке Фортран. Если вам нужна бинарная библиотека, откомпилируйте нужные вам подпрограммы и создайте её при помощи доступного вам компилятора. Во всех примерах программы библиотеки используются в качестве модуля, без предварительной компиляции.

Библиотека создана и размещена на этом сайте в далёком уже 2005 году и большинство программ библиотеки протестировано и отлажено компилятором Compaq 6.1 в ОС Windows XP. Сейчас этот компилятор уже недоступен, поэтому программы, которые были добавлены в библиотеку позже, тестировались другими компиляторами, например Intel для ОС Windows 10 и др. В таких случаях в примерах к программам будет содержаться сноска, в которой будет указана дата размещения программы на сайте и используемый компилятор.

Библиотека NML

>Системы линейных алгебраических уравнений

>Обращение матриц

>Собственные значения матриц

>Вычисление корней функции

>Вычисление минимума функции

>Вычисление сумм, произведений и коэффициентов

>Ортогональные полиномы

>Интерполяция, сглаживание и аппроксимация

>Численное дифференцирование

>Численное интегрирование

>Обыкновенные дифференциальные уравнения

>Дополнительные библиотеки

>Литература