Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Алгоритм и подпрограмма явного метода простой итерации (MPI) приведены на языке пакета Mathcad на рис. 4.
В п/п использованы формальные параметры, имеющие следующий смысл: -матрица перехода, – заданный вектор правой части системы, -заданная точность решения, - знаменатель сходимости, какая-либо оценка нормы матрицы . Размерность матрицы и длина вектора определяются в п/п, Ограничитель по количеству итераций в случае слабой сходимости или расходимости метода установлен на значение . Другие внутренние локальные переменные п/п: – счетчик числа итераций, - вектор решения на текущей итерации, - вектор решения на предыдущей и последующей итерации.
Рис.4. Подпрограмма метода простой итерации на языке Mathcad
Использование формальных параметров позволяет многократно вызывать п/п из различных частей основной программы. В случае использования глобальных переменных вместо формальных параметров есть риск ошибок при переопределении глобальных переменных в основной программе. На выходе п/п находится вектор, состоящий из элементов, . Первые элементов в нем–это вектор решения , последний -й элемент–число итераций . Для того, чтобы использовать вектор решения в дальнейших вычислениях, например, для определения невязки, необходимо переписать его в новый вектор с элементом.
Для использования ММПИ с параметром , задаваемым пользователем, необходимо в качестве фактического параметра при вызове MPI задать модифицированную матрицу перехода. Вызов подпрограммы тогда может быть таким, как на рис.5.
Рис.5. Вызов п/п MPI при реализации ММПИ.
Здесь знаменатель сходимости выражен через оптимальный параметр , являющийся центром оптимального круга радиуса вокруг выпуклой оболочки спектра, описанного в предыдущем параграфе. Для реализации явного метода простой итерации Якоби в качестве фактических параметров матрицы и вектора следует задавать матрицу Якоби и вектор правой части в виде (27). Для реализации в подпрограмме неявного метода Зейделя данная подпрограмма не подходит, так как использует явное умножение матрицы перехода на вектор.
Подпрограмма неявного метода Зейделя приведена на рис.6. Формальные параметры п/п метода Зейделя:
- матрица перехода Якоби (27); -вектор правой части Якоби (27); - задаваемая точность решения (абсолютная); - какая-либо оценка спектрального радиуса оператора Зейделя (для СЛАУ с блочно-трехдиагональной матрицей с положительным спектром в качестве фактического значения можно взять , где -оценка спектрального радиуса матрицы Якоби).
Локальные параметры п/п Seidel:
- размерность матрицы и вектора ; - число итераций, счетчик цикла; ограничение по числу итераций в случае расходимости метода - ; - вектор предыдущей итерации; - вектор текущей итерации.
Фактические параметры при вызове п/п Seidel:
- оптимальный параметр метода релаксации для симметричных, положительно определенных и блочно-трехдиагональных матриц; - максимальное по модулю число матрицы перехода Якоби; - матрица перехода Якоби с оптимальным параметром; - вектор правой части с оптимальным параметром; - заданная погрешность решения; - оценка спектрального радиуса сходимости (для блочно-трехдиагональных матриц ).
Рис.6. Подпрограмма метода Зейделя, а также обращение к п/п
Дата публикования: 2014-11-02; Прочитано: 494 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!