Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Расчетное задание / КМ4 / Отчет КМ4 Долгов Р ТФ-12-20

.pdf
Скачиваний:
5
Добавлен:
16.05.2024
Размер:
2.35 Mб
Скачать

Национальный Исследовательский Университет «МЭИ»

кафедра «АЭС»

Отчет по типовому расчету по курсу «Информационные и сетевые технологии ядерной энергетики»

Группа: ТФ-12-20 Студент: Долгов Р.Н.

Преподаватель: Воробьев Ю.Б. Дата выполнения отчета: 14.04.24

Москва 2024

 

Содержание

 

1.

Цель работы................................................................................................................

3

2.

Математическое описание задачи............................................................................

3

3.

Описание исследуемых функций.............................................................................

4

 

3.1. Процедура LFSHF...............................................................................................

4

 

3.1.1. Алгоритм...................................................................................................

5

 

3.1.2. Программирование...................................................................................

5

 

3.1.3. Результаты.................................................................................................

7

 

3.2. Процедура LFIHF................................................................................................

8

 

3.2.1. Алгоритм...................................................................................................

9

 

3.2.2. Программирование...................................................................................

9

 

3.2.3. Результаты...............................................................................................

11

 

3.3. Процедура LFDHF............................................................................................

12

 

3.3.1. Алгоритм.................................................................................................

13

 

3.3.2. Программирование.................................................................................

13

 

3.3.3. Результаты...............................................................................................

15

4.

Объединение процедур...........................................................................................

16

 

4.1. Листинг программы с одинарной точностью...............................................

16

 

4.2. Листинг программы с двойной точностью...................................................

18

5.

Расчет памяти..........................................................................................................

19

6.

Основные параметры тестируемой системы........................................................

20

7.

Результаты измерений............................................................................................

20

8.

Обработка результатов измерений........................................................................

20

 

8.1. Определение основных характеристик выборок...........................................

24

 

8.2. Исследование производительности при параллельных расчетах................

28

9.

Вывод........................................................................................................................

32

10.Список литературы..................................................................................................

33

2

Цель работы.

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

Если рассматривать задачи связанные с научно-исследовательской и конструкторской деятельностью в данной области, то основная их специфика в настоящее время характеризуется следующим:

1.Существенным требованием к компьютерным ресурсам: RAM, жесткий диск, CPU.

2.Большая продолжительность расчетов и, следовательно, требования к надежности расчетной платформы, ОС и оптимизация использования расчетного оборудования.

3.Широкое использование методов параллельных расчетов.

4.Использование языков высокого уровня Fortran, C/C++.

5.Использование готовых библиотек математических процедур.

6.Требования к повышенной точности расчетов.

Математическое описание задачи

Эрмитова матрица – квадратная матрица, элементы которой являются комплексными числами, и которая, будучи транспонированной, равна комплексно сопряжённой: АТ=А¯. То есть для любого столбца i и строки j справедливо равенство:

ai,j = a¯i,j,

где a¯ – комплексно сопряженное число к а.

Эрмитова матрица характеризуется следующими свойствами:

1.Эрмитова матрица является нормальной.

2.Диагональные элементы матрица вещественные.

3.Детерминанат эрмитовой матрица – вещественное число.

3

4.Сумма двух эрмитовых матриц явлется также эрмитовой матрицой.

5.Обратна к эрмитовой матрице также эрмитова, при условии ее существования.

Тема подпрограмм: Factor (разложение на множители).

Вариант №14:

Подпрограмма №1: Solve a linear system after factoring (Решение линейной системы после размножения на множители).

Задача: Решите сложную Эрмитову систему линейных уравнений с учетом разложения коэффициентов матрицы вида U·DUH.

Для этого используем: CALL LFSHF (N, FAC, LDFAC, IPVT, B, X)

Входные параметры подпрограммы:

1.N — Число уравнений.

2.FAC — Комплексная матрица размерностью NxN, содержащая разложение на множители матрицы коэффициентов A в качестве выходных данных процедуры LFCHF/DLFCHF или LFTHF/DLFTHTHF. Используется только верхний треугольник FAC.

3.LDFAC — ведущее измерение FAC в точности так, как указано в инструкции измерения вызывающей программы.

4.IPVT — вектор длины N, содержащий сводную информацию для факторизации A в качестве выходных данных из процедуры

LFCHF/DLFCHF или LFTHF/DLFTHTHF.

5.B — комплексный вектор длины N, содержащий правую часть линейной

системы.

Выходные параметры подпрограммы:

4

1.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 для вычисления решений.

5

Линкинг – 0 ошибок, 0 предупреждений.

6

Компиляция – 0 ошибок, 0 предупреждений.

Для наглядности сравним результаты из программы и примера в IMSL.

IMSL:

7

Fortran:

Результаты совпадают.

Подпрограмма №2: High accuracy linear system solution after factoring (Высокоточное линейное системное решение после разложения).

Задача: Используйте итерационное уточнение для улучшения решения сложной Эрмитовой системы линейных уравнений.

Для этого используем: CALL LFIHF (N, A, LDA, FAC, LDFAC, IPVT, B, X, RES)

Входные параметры подпрограммы:

1.N — Число уравнений.

2.A — комплексная матрица размерностью NxN, содержащая матрицу коэффициентов Эрмитовой линейной системы. Указана ссылка только на верхний треугольник A.

3.LDA — начальное измерение A в точности так, как указано в инструкции измерения вызывающей программы.

4.FAC — Комплексная матрица размерностью NxN, содержащая разложение матрицы коэффициентов A в качестве выходных данных процедуры LFCHF/DLFCHF или LFTHF/DLFTHTHF. Используется только верхний треугольник FAC.

5.LDFAC — ведущее измерение FAC в точности так, как указано в инструкции измерения вызывающей программы.

6.IPVT — вектор длины N, содержащий сводную информацию для

факторизации A в качестве выходных данных из процедуры

8

LFCHF/DLFCHF или LFTHF/DLFTHTHF.

7.B — комплексный вектор длины N, содержащий правую часть линейной системы.

Выходные параметры подпрограммы:

1.X — комплексный вектор длины N, содержащий решение.

2.RES — комплексный вектор длины N, содержащий остаточный вектор при улучшенном решении.

Алгоритм.

Процедура LFIHF вычисляет решение системы линейных алгебраических уравнений, имеющих сложную Эрмитову матрицу неопределенных коэффициентов. Для повышения точности выполняется итерационное уточнение вектора решения. Обычно почти все значения в решении точны, даже если матрица несколько некорректна. Чтобы вычислить решение, матрица коэффициентов должна сначала подвергнуться разложению на множители вида U·DUH. Это можно сделать, вызвав либо LFCHF, либо LFTHF. Итерационное уточнение завершается неудачей только в том случае, если матрица плохо обусловлена. LFIHF и LFSHF оба решают линейную систему с учетом ее U·DUH факторизации. LFIHF обычно занимает больше времени и дает более точный ответ, чем FSHF. Каждая итерация алгоритма итеративного уточнения, используемого LFIHF, вызывает LFSHF.

Пример решения.

Перенесем пример из библиотеки IMSL в систему программирования Fortran и сравним результаты описанные в IMSL и полученные в программе.

Последовательно решается набор линейных систем. Вектор правой части возмущается после решения системы каждый из первых двух раз путем добавления 0,2 + 0,2i ко второму элементу.

9

Линкинг – 0 ошибок, 0 предупреждений.

10

Соседние файлы в папке КМ4