
- •Национальный Исследовательский Университет
- •Содержание
- •Цель работы
- •Ldfac — ведущее измерение fac в точности так, как указано в инструкции измерения вызывающей программы.
- •Ipvt — вектор длины n, содержащий сводную информацию для факторизации a в качестве выходных данных из процедуры lfchf/dlfchf или lfthf/dlfththf.
- •Ldfac — ведущее измерение fac в точности так, как указано в инструкции измерения вызывающей программы.
- •Ipvt — вектор длины n, содержащий сводную информацию для факторизации a в качестве выходных данных из процедуры lfchf/dlfchf или lfthf/dlfththf.
- •Вывод по отчету Список используемой литературы
Национальный Исследовательский Университет
«МЭИ»
кафедра «АЭС»
Отчет по типовому расчету по курсу
«Информационные и сетевые технологии ядерной энергетики»
Группа: ТФ-12-20
Студент: Долгов Р.Н.
Преподаватель: Воробьев Ю.Б.
Дата выполнения отчета: 04.03.24
Москва 2024
Содержание
Цель работы................................................................................................................3
Сведения о содержании библиотеки IMSL.............................................................3
Математическое содержание используемых процедур.........................................4
Содержание используемых функций.......................................................................4
4.1. Процедура LFSHF.................................................................................................
4.1.1. Алгоритм............................................................................................................
4.1.2. Программирование............................................................................................
4.1.3. Результаты..........................................................................................................
4.2. Процедура LFIHF..................................................................................................
4.2.1. Алгоритм............................................................................................................
4.2.2. Программирование............................................................................................
4.2.3. Результаты..........................................................................................................
4.3. Процедура LFDHF................................................................................................
4.3.1. Алгоритм............................................................................................................
4.3.2. Программирование............................................................................................
4.3.3. Результаты..........................................................................................................
Вывод............................................................................................................................
Список литературы......................................................................................................
Цель работы
Развитие у студентов навыков использования современных информационных технологий применительно к задачам ядерной энергетики.
Если рассматривать задачи связанные с научно-исследовательской и конструкторской деятельностью в данной области, то основная их специфика в настоящее время характеризуется следующим:
Существенным требованием к компьютерным ресурсам: RAM, жесткий диск, CPU.
Большая продолжительность расчетов и, следовательно, требования к надежности расчетной платформы, ОС и оптимизация использования расчетного оборудования.
Широкое использование методов параллельных расчетов.
Использование языков высокого уровня Fortran, C/C++.
Использование готовых библиотек математических процедур.
Требования к повышенной точности расчетов.
Тема подпрограмм: Factor (разложение на множители).
Вариант №14:
Подпрограмма №1: Solve a linear system after factoring (Решение линейной системы после размножения на множители).
Задача: Решите сложную Эрмитову систему линейных уравнений с учетом разложения коэффициентов матрицы вида U∙DUH.
Для этого используем: CALL LFSHF (N, FAC, LDFAC, IPVT, B, X)
Входные параметры подпрограммы:
N — Число уравнений.
FAC — Комплексная матрица размерностью NxN, содержащая разложение на множители матрицы коэффициентов A в качестве выходных данных процедуры LFCHF/DLFCHF или LFTHF/DLFTHTHF. Используется только верхний треугольник FAC.
LDFAC — ведущее измерение FAC в точности так, как указано в инструкции измерения вызывающей программы.
IPVT — вектор длины N, содержащий сводную информацию для факторизации A в качестве выходных данных из процедуры LFCHF/DLFCHF или LFTHF/DLFTHTHF.
B — комплексный вектор длины N, содержащий правую часть линейной системы.
Выходные параметры подпрограммы:
X — комплексный вектор длины N, содержащий решение линейной системы. Если B не требуется, B и X могут совместно использовать одни и те же места хранения.
Алгоритм.
Процедура LFSHF вычисляет решение системы линейных алгебраических уравнений, имеющих сложную Эрмитову матрицу неопределенных коэффициентов. Чтобы вычислить решение, матрица коэффициентов должна сначала подвергнуться разложению на множители вида U∙DUH. Это можно сделать, вызвав либо LFCHF, либо LFTHF. LFSHF и LFIHF оба решают линейную систему с учетом ее разложения вида U∙DUH. LFIHF обычно занимает больше времени и дает более точный ответ, чем FSHF. Каждая итерация алгоритма итерационного уточнения, используемого LFIHF, вызывает LFSHF. LFSHF основан на процедуре LINPACK CSISL.
Пример решения.
Перенесем пример из библиотеки IMSL в систему программирования Fortran и сравним результаты описанные в IMSL и полученные в программе.
Последовательно решается набор линейных систем. Вызывается функция LF HF для разложения матрицы коэффициентов. Вызывается функция FSHF для вычисления трех решений для трех правых частей. В этом случае предполагается, что матрица коэффициентов хорошо подготовлена и правильно масштабирована. В противном случае было бы лучше вызвать LCHF для выполнения факторизации и LFIHF для вычисления решений.
Линкинг – 0 ошибок, 0 предупреждений.
Компиляция – 0 ошибок, 0 предупреждений.
Для наглядности сравним результаты из программы и примера в IMSL.
IMSL:
Fortran:
Результаты совпадают.
Подпрограмма №2: High accuracy linear system solution after factoring (Высокоточное линейное системное решение после разложения).
Задача: Используйте итерационное уточнение для улучшения решения сложной Эрмитовой системы линейных уравнений.
Для этого используем: CALL LFIHF (N, A, LDA, FAC, LDFAC, IPVT, B, X, RES)
Входные параметры подпрограммы: