Вернуться наверх
aco.ifmo.ru photonic
вернуться в оглавление предыдущая глава предыдущий параграф следующий параграф следующая глава


Введение

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

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

Физическая постановка задачи. На этом этапе необходимо грамотно сформулировать и поставить задачу с точки зрения физики процесса. Для этого необходимо изучить рассматриваемую проблему и обладать знаниями в соответствующей области.

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

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

Численные методы. Решение проблемы представляют в виде конечных математических операций – сложение, умножение. Численные методы позволяют свести решение задачи к выполнению конечного количества арифметических действий над числами, при этом результаты получаются в виде числовых значений. Чаще всего возможно использование известных стандартных численных методов.

Алгоритмизация. Алгоритмизация служит для упорядочения производимых действий в виде точного формального описания процесса. Алгоритм можно изобразить в виде блок-схемы или описать другим способом.

Программирование. На этом этапе алгоритм реализуется на каком-нибудь языке программирования высокого уровня.

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

Проведение расчетов. На этом этапе готовятся исходные данные для расчетов, и проводятся вычисления по отлаженной программе.

Анализ результатов. Результаты расчетов анализируются, оформляется научно-техническая документация.

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

При анализе точности одним из важнейших критериев является сходимость численного метода. Для дискретных методов (методы, которые заключаются в замене задачи с непрерывными функциями на задачу, в которой значения функций заданы в фиксированных точках) сходимость – это стремление значений решения метода к соответствующим значениям решения исходной задачи при стремлении к нулю параметра дискретизации (например, шага интегрирования).

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

Устойчивость – это чувствительность метода к неточностям в исходных данных. Задача называется устойчивой, если малые погрешности в исходной величине приводят к малым погрешностям в решении. Отсутствие устойчивости означает, что даже незначительные погрешности в исходных данных приводят к большим погрешностям в решении или даже к неверному результату. О неустойчивых задачах также говорят, что они чувствительны к погрешностям исходных данных.

Таким образом, для получения решения задачи с необходимой точностью ее постановка должна быть корректной, а используемый численный метод должен обладать устойчивостью (корректностью) и сходимостью.

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