Предисловие

1. Характеристики процедур IMSL

2. Вычисления с плавающей точкой

3. Вспомогательные процедуры

4. Базовые процедуры линейной алгебры

5. Решение систем линейных уравнений

6. Процедуры IMSL для систем линейных уравнений и вычисления определителей

7. Матричные разложения и их пересчет

8. Собственные значения и собственные векторы

9. Решение прямоугольных систем Ax ≈ b с ограничениями и без них

10. Процедуры и операции библиотеки IMSL Fortran 90 MP

Приложение 1. Вывод русского текста в DOS-окно

Приложение 2. Список представленных в пособии процедур математической библиотеки IMSL

ЛИТЕРАТУРА

Предметный указатель


1. Характеристики процедур IMSL

1.1. Состав библиотеки

1.2. Вызов процедур IMSL

1.3. Выделение памяти

1.4. Соглашения об именах

1.5. Вычислительная сложность алгоритмов

1.6. Оптимизация кода

1.7. Учет особенностей машинной арифметики

1.8. Обработка ошибок

1.9. Соглашения, действующие при описании процедур библиотеки IMSL

1.10. Вспомогательная функция ru_doswin

2. Вычисления с плавающей точкой

2.1. Двоичные представления чисел

2.2. Исключения

2.3. Управление вычислениями с плавающей точкой

2.4. Обработка исключений

3. Вспомогательные процедуры

3.2. Машинные константы

3.3. Вывод результатов

3.4. Обработка ошибок

3.5. Процедуры даты и времени

3.6. Задание и чтение настроек процедур IMSL

3.7. Некоторые специальные процедуры

3.8. Версия библиотеки IMSL

4. Базовые процедуры линейной алгебры

4.1. Введение

4.2. Некоторые сведения о векторах и матрицах

4.3. Представление матриц в программах

4.4. Базовые процедуры линейной алгебры уровня 1

4.5. Базовые процедуры линейной алгебры уровней 2 и 3

4.6. Дополнительные операции над векторами и матрицами

5. Решение систем линейных уравнений

5.1. Постановка задачи

5.2. Метод исключения Гаусса

5.3. Линейные системы с симметрической матрицей

6. Процедуры IMSL для систем линейных уравнений и вычисления определителей

6.1. Введение

6.2. Системы линейных уравнений с вещественной несимметрической матрицей

6.3. Процедуры с вещественной симметрической матрицей

6.4. Системы линейных уравнений с вещественной матрицей Теплица

6.5. Системы линейных уравнений с комплексной матрицей

6.6. Вычисление определителей

7. Матричные разложения и их пересчет

7.1. Введение

7.2. Преобразования Хаусхолдера и Гивенса

7.3. Методы вычисления QR-разложения

7.4. QR-разложение процедурами IMSL

7.5. Пересчет матричных разложений

7.6. Вычисление сингулярного разложения

8. Собственные значения и собственные векторы

8.1. Подходы к решению проблемы собственных значений

8.2. Процедуры IMSL для вычисления собственных значений

8.3. Оценка точности решения проблемы собственных значений

9. Решение прямоугольных систем Ax ≈ b с ограничениями и без них

9.1. Метод наименьших квадратов

9.2. Подпрограммы IMSL для решения переопределенной и недоопределенной проблемы Ax ≈ b

9.3. Проблема Ax ≈ b с линейными ограничениями

10. Процедуры и операции библиотеки IMSL Fortran 90 MP

10.1. Введение

10.2. Операции библиотеки IMSL 90

10.3. Функции библиотеки IMSL 90

10.4. Решение систем линейных уравнений

10.5. Сингулярные и собственные значения

10.6. Решение линейных систем методом наименьших квадратов

Приложение 1. Вывод русского текста в DOS-окно

Приложение 2. Список представленных в пособии процедур математической библиотеки IMSL


1. Характеристики процедур IMSL

1.1. Состав библиотеки

1.2. Вызов процедур IMSL

1.3. Выделение памяти

1.4. Соглашения об именах

1.5. Вычислительная сложность алгоритмов

1.6. Оптимизация кода

1.7. Учет особенностей машинной арифметики

1.7.1. Разрывы между вещественными числами

1.7.2. Ошибки округления

1.7.3. Устранение переполнения и исчезновения порядка

1.7.4. Оценка точности результата

1.8. Обработка ошибок

1.9. Соглашения, действующие при описании процедур библиотеки IMSL

1.10. Вспомогательная функция ru_doswin


2. Вычисления с плавающей точкой

2.1. Двоичные представления чисел

2.1.1. Представление целых чисел

2.1.2. Вещественные числа с плавающей точкой

2.1.3. Виды вещественных чисел с плавающей точкой

2.1.4. характеристики модели представления чисел

2.1.5. Абсолютная и относительная ошибки

2.2. Исключения

2.3. Управление вычислениями с плавающей точкой

2.3.1. Значения статуса и управляющего слова

2.3.2. Чтение статуса

2.3.3. Изменение управляющего слова

2.4. Обработка исключений

2.4.1. Обработка исключений с плавающей точкой

2.4.2. Обработка математических исключений


3. Вспомогательные процедуры

3.2. Машинные константы

3.2.1. Целые машинные константы

3.2.2. Вещественные машинные константы

3.2.3. Проверка на NaN

3.3. Вывод результатов

3.3.1. Список, вызовы и параметры процедур

3.3.2. Вывод прямоугольной матрицы с нумерацией строк и столбцов

3.3.3. Вывод прямоугольной матрицы по заданному формату и с заданными именами строк и столбцов

3.3.3.1. Вывод вещественной матрицы

3.3.3.2. Вывод комплексной матрицы

3.3.3.3. Вывод целочисленной матрицы

3.3.4. Управление выводом

3.3.5. Управление размером страницы

3.3.6. Задание номера устройства В/В

3.4. Обработка ошибок

3.4.1. Виды ошибок IMSL

3.4.2. Примеры ошибок IMSL

3.4.3. Изменение характера реагирования на информационные ошибки

3.4.4. Использование системы обработки ошибок

3.5. Процедуры даты и времени

3.6. Задание и чтение настроек процедур IMSL

3.7. Некоторые специальные процедуры

3.7.1. Разложение числа на простые множители

3.7.2. Дополнительные символьные функции

3.7.3. Вычисление SQRT(a**2 + b**2) без исчезновения порядка и переполнения

3.7.4. Математические и физические константы

3.7.5. Перевод величин из одной системы единиц в другую

3.8. Версия библиотеки IMSL


4. Базовые процедуры линейной алгебры

4.1. Введение

4.2. Некоторые сведения о векторах и матрицах

4.2.1. Обозначение векторов и матриц

4.2.2. Операции над векторами

4.2.3. Операции над матрицами

4.2.4. Элементарные преобразования

4.2.5. Определитель и миноры матрицы

4.2.6. Виды матриц

4.2.7. Умножение матриц

4.2.8. Умножение матрицы на вектор

4.2.9. Блочные матрицы

4.2.10. Двумерные матрицы вращения и отражения

4.2.11. Линейная независимость и базис

4.2.12. Ортогональность векторов

4.2.13. Ранг матрицы

4.2.14. Векторные нормы

4.2.15. Матричные нормы

4.2.16. Нормы и ортогональные преобразования

4.3. Представление матриц в программах

4.3.1. Представление всех элементов матрицы

4.3.2. Ленточные матрицы

4.3.3. Ленточные симметрические матрицы

4.3.4. Ленточные эрмитовы матрицы

4.3.5. Ленточные треугольные матрицы

4.3.6. Кодиагональное представление ленточных симметрических матриц

4.3.7. Кодиагональное представление ленточных эрмитовых матриц

4.3.8. Разреженные матрицы

4.4. Базовые процедуры линейной алгебры уровня 1

4.4.1. Замечания для программиста

4.4.2. Список процедур уровня 1

4.4.3. Присваивание вектору скаляра

4.4.4. Копирование вектора

4.4.5. Масштабирование вектора

4.4.6. Умножение вектора на скаляр

4.4.7. Сумма вектора и скаляра

4.4.8. Вычитание из скаляра вектора

4.4.9. Присваивание вида y = αx + y

4.4.10. Обмен данными векторов

4.4.11. Скалярное произведение векторов

4.4.12. Скалярное произведение векторов с аккумулятором двойной точности

4.4.13. Сумма скаляра и скалярного произведения векторов с аккумулятором двойной точности

4.4.14. Скалярное произведение векторов с аккумулятором двойной точности, предаваемым в качестве параметра

4.4.15. Произведение Адамара

4.4.16. Сумма произведений трех векторов

4.4.17. Сумма элементов вектора

4.4.18. Сумма абсолютных значений элементов вектора

4.4.19. Евклидова или 2-норма вектора

4.4.20. Произведение элементов вектора

4.4.21. Индекс минимального элемента вектора

4.4.22. Индекс максимального элемента вектора

4.4.23. Индекс минимального по модулю элемента вектора

4.4.24. Индекс максимального по модулю элемента вектора

4.4.25. Построение плоского вращения Гивенса

4.4.26. Применение плоского вращения Гивенса

4.4.27. Построение быстрого вращения Гивенса

4.4.28. Применение быстрого вращения Гивенса

4.5. Базовые процедуры линейной алгебры уровней 2 и 3

4.5.1. Замечания для программиста

4.5.2. Список процедур уровней 2 и 3

4.5.3. Умножение матрицы общего вида на вектор

4.5.4. Умножение ленточной матрицы на вектор

4.5.5. Умножение эрмитовой матрицы на вектор

4.5.6. Умножение эрмитовой ленточной матрицы на вектор

4.5.7. Умножение вещественной симметрической матрицы на вектор

4.5.8. Умножение симметрической ленточной матрицы на вектор

4.5.9. Умножение треугольной матрицы на вектор

4.5.10. Умножение треугольной ленточной матрицы на вектор

4.5.11. Умножение обратной треугольной матрицы на вектор

4.5.12. Умножение обратной треугольной ленточной матрицы на вектор

4.5.13. Преобразования ранга 1 матрицы общего вида

4.5.14. Преобразования ранга 1, 2, k и 2k симметрической матрицы

4.5.15. Преобразования ранга 1, 2, k и 2k эрмитовой матрицы

4.5.16. Произведение матриц общего вида

4.5.17. Произведение с симметрической матрицей

4.5.18. Произведение с эрмитовой матрицей

4.5.19. Произведение с треугольной матрицей

4.5.20. Вычисления с треугольной матрицей

4.6. Дополнительные операции над векторами и матрицами

4.6.1. Процедуры, которые могут быть заменены встроенными возможностями Фортрана

4.6.2. Преобразование матриц

4.6.3. Билинейная и квадратичная формы

4.6.4. Оценка матричного степенного ряда

4.6.5. Умножение ленточной матрицы на вектор

4.6.6. Сложение ленточных матриц

4.6.7. Вычисление нормы матрицы

4.6.8. Вычисление расстояния между точками

4.6.9. Вычисления с повышенной точностью


5. Решение систем линейных уравнений

5.1. Постановка задачи

5.2. Метод исключения Гаусса

5.2.1. Идея метода исключения

5.2.2. LU-разложение матрицы

5.2.2.1. Вычисление LU-разложения матрицы

5.2.2.2. Применение LU-разложения для решения линейных систем

5.2.3. Повышение качества разложения

5.2.3.1. Схема частичного выбора

5.2.3.2. Полный выбор ведущего элемента

5.2.3.3. Масштабирование

5.2.4. Устойчивость метода исключений Гаусса

5.2.5. Некоторые приложения метода исключений Гаусса

5.2.5.1. Вычисление обратной матрицы

5.2.5.2. Вычисление определителя

5.2.6. Число обусловленности матрицы

5.2.6.1. Понятие числа обусловленности

5.2.6.2. Оценка числа обусловленности матрицы

5.2.7. Оценка точности и уточнение решения

5.2.7.1. Точность решения

5.2.7.2. Итерационное уточнение решения

5.2.8. Системы с разреженными матрицами

5.3. Линейные системы с симметрической матрицей

5.3.1. Положительно определенные системы

5.3.2. Получение разложения Холецкого

5.3.3. Неотрицательно определенные системы

5.3.3.1. Свойства неотрицательно определенных матриц

5.3.3.2. LLT-разложение симметрических неотрицательно определенных матриц

5.3.3.3. Симметричный выбор диагонального элемента

5.3.4. Симметрические неопределенные системы


6. Процедуры IMSL для систем линейных уравнений и вычисления определителей

6.1. Введение

6.2. Системы линейных уравнений с вещественной несимметрической матрицей

6.2.1. Список процедур с вещественной несимметрической матрицей

6.2.2. Возможные ошибки процедур

6.2.3. Параметры процедур с вещественными несимметрическими и комплексными неэрмитовыми матрицами

6.2.4. Процедуры с вещественной несимметрической общего вида матрицей

6.2.4.1. Задание вещественной несимметрической общего вида матрицы

6.2.4.2. Вычисление LU-разложения и числа обусловленности матрицы

6.2.4.3. Вычисление LU-разложения матрицы

6.2.4.4. Решение системы линейных уравнений с применением ранее найденного LU-разложения

6.2.4.5. Итерационное уточнение решения линейной системы

6.2.4.6. Решение системы линейных уравнений без уточнения корней

6.2.4.7. Решение системы линейных уравнений с итерационным уточнением корней

6.2.4.8. Вычисление обратной матрицы

6.2.5. Пример описания процедуры с вещественной несимметрической ленточной матрицей

6.2.5.1. Задание ленточной матрицы

6.2.5.2. Вычисление LU-разложения и числа обусловленности матрицы

6.2.6. Процедуры с вещественной несимметрической трехдиагональной матрицей

6.2.6.1. Вычисление LDU-разложения и решение линейной системы Ax = b с трехдиагональной матрицей

6.2.6.2. Решение трехдиагональной системы линейных уравнений

6.2.7. Процедуры с вещественной треугольной матрицей

6.2.7.1. Задание треугольной матрицы

6.2.7.2. Оценка числа обусловленности треугольной матрицы

6.2.7.3. Вычисление обратной треугольной матрицы

6.2.7.4. Решение треугольной системы линейных уравнений

6.2.7.5. Решение треугольной (возможно вырожденной) системы линейных уравнений и вычисление обобщенного обращения верхней треугольной матрицы

6.2.8. Процедуры с вещественной несимметрической разреженной матрицей

6.2.8.1. Вычисление LU-разложения разреженной матрицы

6.2.8.2. Решение системы линейных уравнений с применением ранее найденного LU-разложения

6.2.8.3. Решение системы линейных уравнений

6.3. Процедуры с вещественной симметрической матрицей

6.3.1. Список процедур

6.3.2. Возможные ошибки процедур с вещественной симметрической матрицей

6.3.3. Параметры процедур с вещественной симметрической и комплексной эрмитовой матрицами

6.3.4. Процедуры с вещественной симметрической положительно определенной матрицей

6.3.4.1. Об использовании процедур

6.3.4.2. Примеры для процедур с симметрической положительно определенной матрицей

6.3.5. Процедуры с вещественной симметрической положительно определенной ленточной матрицей

6.3.5.1. Об использовании процедур

6.3.5.2. RTDR-разложение Холецкого симметрической положительно определенной ленточной матрицы и решение системы Ax = b

6.3.5.3. Примеры для процедур с симметрической положительно определенной ленточной матрицей

6.3.6. Процедуры с вещественной симметрической положительно определенной разреженной матрицей

6.3.6.1. Метод сопряженных градиентов с аппроксимацией и обратной связью

6.3.6.2. Метод сопряженных градиентов с аппроксимацией Якоби и обратной связью

6.3.6.3. Вычисление LLT-разложения Холецкого симметрической положительно определенной разреженной матрицы

6.3.6.4. Решение системы линейных уравнений с симметрической положительно определенной разреженной матрицей с использованием ранее найденного LLT-разложения Холецкого

6.3.6.5. Решение системы линейных уравнений с симметрической положительно определенной разреженной матрицей методом Холецкого

6.3.7. Разложение Холецкого симметрической неотрицательно определенной матрицы

6.3.8. Разложение Холецкого симметрической неотрицательно определенной матрицы с применением симметричного выбора

6.3.9. Процедуры с вещественной симметрической неопределенной матрицей

6.3.9.1. Об использовании процедур с симметрической неопределенной матрицей

6.3.9.2. Примеры для процедур с симметрической неопределенной матрицей

6.3.10. Разложение симметрической матрицы с добавлением к ней диагональной матрицы

6.3.11. Комментарий

6.4. Системы линейных уравнений с вещественной матрицей Теплица

6.5. Системы линейных уравнений с комплексной матрицей

6.5.1. Процедуры с комплексной неэрмитовой матрицей

6.5.1.1. Список процедур

6.5.1.2. Системы линейных уравнений с циклической матрицей

6.5.1.3. Примеры процедур с комплексной неэрмитовой матрицей

6.5.2. Процедуры с комплексной эрмитовой матрицей

6.5.2.1. Список процедур

6.5.2.2. Возможные ошибки процедур

6.5.2.3. Примеры для процедур с комплексной эрмитовой матрицей

6.6. Вычисление определителей

6.6.1. Список процедур

6.6.2. Параметры процедур

6.6.3. Описание подпрограммы LFDRG

6.6.4. Примеры вычисления определителей


7. Матричные разложения и их пересчет

7.1. Введение

7.2. Преобразования Хаусхолдера и Гивенса

7.2.1. Преобразование Хаусхолдера

7.2.1.1. Матрица и вектор Хаусхолдера

7.2.1.2. Вычисление вектора Хаусхолдера

7.2.1.3. Умножение матрицы на матрицу Хаусхолдера

7.2.1.4. Ошибки округления

7.2.2. Преобразование Гивенса

7.2.2.1. Матрица вращения Гивенса

7.2.2.2. Умножение матрицы на матрицу Гивенса

7.2.2.3. Компактное представление матриц Гивенса

7.3. Методы вычисления QR-разложения

7.3.1. QR-разложение прямоугольной матрицы с применением преобразований Хаусхолдера

7.3.2. QR-разложение симметрической матрицы

7.3.2.1. Метод Хаусхолдера приведения симметрической матрицы к трехдиагональному виду

7.3.2.2. QR-разложение симметрической трехдиагональной матрицы

7.4. QR-разложение процедурами IMSL

7.4.1. QR-разложение прямоугольной матрицы

7.4.2. Восстановление ортогональной матрицы Q из QR-разложения прямоугольной матрицы

7.5. Пересчет матричных разложений

7.5.1. Алгоритм пересчета QR-разложения

7.5.2. Перечень процедур

7.5.3. Пересчет разложения Холецкого

7.5.3.1. Пересчет разложения матрицы A - xxT

7.5.3.2. Пересчет разложения матрицы A + xxT

7.5.4. Пересчет QR-разложения

7.6. Вычисление сингулярного разложения

7.6.1. Понятие сингулярного разложения

7.6.2. Сингулярное разложение комплексной матрицы

7.6.3. Сингулярное разложение вещественной матрицы

7.6.4. Вычисление обобщенной обратной матрицы


8. Собственные значения и собственные векторы

8.1. Подходы к решению проблемы собственных значений

8.1.1. Понятия собственного значения и собственного вектора

8.1.2. Преобразования подобия

8.1.3. Некоторые свойства собственных значений и собственных векторов

8.1.4. Собственные значения и собственные векторы вещественной симметрической и комплексной эрмитовой матрицы

8.1.4.1. QR-алгоритм

8.1.4.2. Метод обратных итераций

8.2. Процедуры IMSL для вычисления собственных значений

8.2.1. Организация материала

8.2.2. Обычная проблема собственных значений

8.2.2.1. Список, вызовы, параметры и ошибки процедур

8.2.2.3. Вычисление всех собственных значений и собственных векторов вещественной симметрической матрицы

8.2.2.4. Вычисление нескольких наибольших или наименьших собственных значений и им соответствующих собственных векторов вещественной симметрической матрицы

8.2.2.5. Вычисление собственных значений и собственных векторов вещественной симметрической матрицы из заданного интервала

8.2.2.6. Вычисление всех собственных значений и собственных векторов вещественной несимметрической матрицы

8.2.2.7. Вычисление всех собственных значений и собственных векторов комплексной эрмитовой матрицы

8.2.2.8. Вычисление всех собственных значений и собственных векторов комплексной неэрмитовой матрицы

8.2.4.2. Вычисление всех собственных значений и собственных векторов комплексной матрицы Хессенберга

8.2.2.9. Примеры применения подпрограмм, вычисляющих собственные значения и собственные векторы

8.2.3. Обобщенная проблема собственных значений

8.2.3.1. Список, вызовы, параметры и ошибки процедур

8.2.3.2. Вычисление всех собственных значений и собственных векторов вещественной симметрической обобщенной системы Az = λBz

8.2.3.3. Вычисление всех собственных значений и собственных векторов вещественной обобщенной системы Az = λBz

8.3. Оценка точности решения проблемы собственных значений

8.3.1. Список, вызовы, параметры и ошибки процедур


9. Решение прямоугольных систем Ax ≈ b с ограничениями и без них

9.1. Метод наименьших квадратов

9.1.1. Постановка задачи

9.1.2. Применение QR-разложения в методе наименьших квадратов

9.1.3. Вырожденная задача наименьших квадратов

9.1.4. Решение задачи наименьших квадратов с помощью сингулярного разложения

9.2. Подпрограммы IMSL для решения переопределенной и недоопределенной проблемы Ax ≈ b

9.2.1. Перечень подпрограмм

9.2.2. Проблема Ax ≈ b без ограничений

9.2.2.1. Решение проблемы Ax ≈ b методом наименьших квадратов с итерационным уточнением корней

9.2.2.2. Решение проблемы Ax ≈ b методом наименьших квадратов без итерационного уточнения корней

9.2.2.3. Решение проблемы Ax ≈ b методом наименьших квадратов с использованием блочных преобразований Хаусхолдера

9.2.2.4. вычисление преобразований координат и завершение решения проблемы Ax ≈ b методом наименьших квадратов

9.3. Проблема Ax ≈ b с линейными ограничениями


10. Процедуры и операции библиотеки IMSL Fortran 90 MP

10.1. Введение

10.2. Операции библиотеки IMSL 90

10.3. Функции библиотеки IMSL 90

10.4. Решение систем линейных уравнений

10.4.1. Процедура LIN_SOL_GEN для линейных систем с матрицей общего вида

10.4.2. Процедура LIN_SOL_SELF для линейных систем с самоприсоединенной матрицей

10.4.3. Процедура LIN_SOL_TRI для линейных систем с трехдиагональной матрицей

10.5. Сингулярные и собственные значения

10.5.1. Процедура LIN_SVD для вычисления сингулярного разложения

10.5.2. Процедура LIN_EIG_SELF для вычисления собственных значений самоприсоединенной матрицы

10.5.3. Процедура LIN_EIG_GEN для вычисления собственных значений матрицы общего вида

10.5.4. Процедура LIN_GEIG_GEN для обобщенной проблемы собственных значений

10.6. Решение линейных систем методом наименьших квадратов

10.6.1. Процедура LIN_SOL_LSQ для решения прямоугольных линейных систем методом наименьших квадратов

10.6.2. Процедура LIN_SOL_SVD, использующая сингулярное разложение для решения прямоугольных линейных систем


Приложение 1. Вывод русского текста в DOS-окно

Приложение 2. Список представленных в пособии процедур математической библиотеки IMSL


ЛИТЕРАТУРА

Предметный указатель

Рейтинг@Mail.ru