Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы научных вычислений. Введение в численные методы для физиков и инженеров
.pdf
Краткий обзор программного обеспечения 241
ное значение вида Ax=λMx,гдеA и M — ленточные вещественные
симметричные/Эрмитовые матрицы и матрица M также положительноопределённая
Библиотека подпрограмм IMSL
Библиотека IMSL (International Mathematics and Statistics Libraries)
широко используется на практике и включает в себя библиотеки численных алгоритмов для языков C, Fortran 90, Fortran 77 и Java.
Библиотека IMSL C (CNL)
Библиотека CNL написана на языке C на основе подпрограмм из
библиотеки IMSL Fortran. Версия 4.0 этой библиотеки содержит более
300 математических и статистических алгоритмов.
Библиотека IMSL Fortran 90 MP (F90 MP)
Эта библиотека основана на алгоритмах, оптимизированных для ис-
пользования в многопроцессорных системах. Библиотека F90 MP включает в себя:
• функциональные модули для объектно-ориентированного программирования;
• подпрограммы, написанные на языке Fortran 90 для более эффективного выполнения программ;
• библиотеку IMSL Fortran 77.
Библиотека IMSL for Java (JNL)
Библиотека JNL включает в себя функции, отсутствующие в языке
Java: класс численного типа, комплексный класс и три класса численных
функций (класс специальных функций, класс линейной алгебры и класс
статистики).
Библиотека IMSL Fortran 77 (FNL)
Библиотека FNL состоит из более чем 900 подпрограмм, написан-
ных на языке Fortran 77, предназначенных для решения широкого класса
задач прикладной математики и статистического анализа. Все ведущие

242 Приложение D
производители компиляторов языка Fortran включают эту библиотеку в
состав своих программных продуктов. Далее приводится краткое описание подпрограмм библиотеки FNL, имеющих отношение к темам рассмотренным в этой книге.
Решение систем линейных уравнений
lsacb — решение систем линейных уравнений с комплексной лен-
точной матрицей (применяется итерационное уточнение решения)
lsacg — решение систем линейных уравнений с комплексной мат-
рицей общего вида (применяется итерационное уточнение решения)
lsadh — решение систем линейных уравнений с Эрмитовой поло-
жительно-определённой матрицей (применяется итерационное уточнение
решения)
lsads — решение систем линейных уравнений с вещественной сим-
метричной положительно-определённой матрицей (применяется итерационное уточнение решения)
lsahf — решение систем линейных уравнений с Эрмитовой матрицей
(применяется итерационное уточнение решения)
lsaqh — решение систем линейных уравнений с Эрмитовой ленточ-
ной положительно-определённой матрицей
lsaqs — решение систем линейных уравнений с ленточной веще-
ственной симметричной положительно-определённой матрицей
lsarb — решение систем линейных уравнений с ленточной веще-
ственной матрицей (применяется итерационное уточнение решения)
lsarg — решение систем линейных уравнений с вещественной мат-
рицей общего вида (применяется итерационное уточнение решения)
lsasf — решение систем линейных уравнений с вещественной сим-
метричной матрицей (применяется итерационное уточнение решения)
lslcb — решение систем линейных уравнений с комплексной лен-
точной матрицей
lslcg — решение систем линейных уравнений с комплексной матри-
цей общего вида
lslcq — вычисление LDU-разложения комплексной трёхдиагональ-
ной матрицы
lslcr — вычисление LDU-разложения вещественной трёхдиагональ-
ной матрицы
lslct — решение систем линейных уравнений с комплексной тре-
угольной матрицей
lsldh — решение систем линейных уравнений с Эрмитовой положи-
тельно-определённой матрицей

Краткий обзор программного обеспечения 243
lslds — решение систем линейных уравнений с вещественной сим-
метричной положительно-определённой матрицей
lslhf — решение систем линейных уравнений с Эрмитовой матрицей
lslpb — вычисление разложения Холесского вещественной симмет-
ричной положительно-определённой матрицы
lslqb — вычисление разложения Холесского Эрмитовой положи-
тельно-определённой матрицы
lslqh — решение систем линейных уравнений с Эрмитовой ленточ-
ной положительно-определённой матрицей
lslqs — решение систем линейных уравнений с вещественной сим-
метричной ленточной положительно-определённой матрицей
lslrb — решение систем линейных уравнений с вещественной лен-
точной матрицей
lslrg — решение систем линейных уравнений с вещественной мат-
рицей общего вида
lslrt — решение систем линейных уравнений с вещественной тре-
угольной матрицей
lslsf — решение систем линейных уравнений с вещественной сим-
метричной матрицей
lsltc — решение систем линейных уравнений с комплексной Тёпли-
цевой матрицей
lslto — решение систем линейных уравнений с вещественной Тёп-
лицевой матрицей
lsltq — решение систем линейных уравнений с комплексной трёх-
диагональной матрицей
lsltr — решение систем линейных уравнений с вещественной трёх-
диагональной матрицей
lslxd — решение систем линейных уравнений с разреженной веще-
ственной симметричной положительно-определённой матрицей
lslxg — решение систем линейных уравнений с разреженной вещест-
венной матрицей методом исключения Гаусса
lslzd — решение систем линейных уравнений с разреженной Эрми-
товой положительно-определённой матрицей методом исключения Гаусса
lslzg — решение систем линейных уравнений с разреженной ком-
плексной матрицей методом исключения Гаусса
Задача на собственное значение
evahf — вычисление наибольшего или наименьшего по модулю соб-
ственного значения Эрмитовой матрицы

244 Приложение D
evasb — вычисление наибольшего или наименьшего по модулю соб-
ственного значения вещественной ленточной симметричной матрицы
evasf — вычисление наибольшего или наименьшего по модулю соб-
ственного значения вещественной симметричной матрицы
evbhf — вычисление собственных значений Эрмитовой матрицы,
лежащих в заданном интервале
evbsb — вычисление собственных значений вещественной ленточ-
ной симметричной матрицы, лежащих в заданном интервале
evbsf — вычисление собственных значений вещественной симмет-
ричной матрицы, лежащих в заданном интервале
evccg — вычисление всех собственных значений и векторов ком-
плексной матрицы
evcch — вычисление всех собственных значений и векторов ком-
плексной верхней матрицы Хессенберга
evchf — вычисление всех собственных значений и векторов ком-
плексной Эрмитовой матрицы
evcrg — вычисление всех собственных значений и векторов веще-
ственной матрицы
evcrh — вычисление всех собственных значений и векторов веще-
ственной верхней матрицы Хессенберга
evcsb — вычисление всех собственных значений и векторов веще-
ственной ленточной симметричной матрицы
evcsf — вычисление всех собственных значений и векторов веще-
ственной симметричной матрицы
evehf — вычисление наибольшего или наименьшего по модулю соб-
ственного значения и соответствующих собственных векторов Эрмитовой матрицы
evesb — вычисление наибольшего или наименьшего по модулю
собственного значения и соответствующих собственных векторов вещественной ленточной симметричной матрицы
evesf — вычисление наибольшего или наименьшего по модулю соб-
ственного значения и соответствующих собственных векторов вещественной симметричной матрицы
evfhf — вычисление собственных значений Эрмитовой матрицы, ле-
жащих в заданном интервале, и соответствующих собственных векторов
evfsb — вычисление собственных значений вещественной ленточной
симметричной матрицы, лежащих в заданном интервале, и соответствующих собственных векторов
evfsf — вычисление собственных значений вещественной симмет-
ричной матрицы, лежащих в заданном интервале, и соответствующих
собственных векторов

Краткий обзор программного обеспечения 245
evlcg — вычисление всех собственных значений комплексной мат-
рицы
evlch — вычисление всех собственных значений комплексной верх-
ней матрицы Хессенберга
evlhf — вычисление всех собственных значений комплексной Эрми-
товой матрицы
evlrg — вычисление всех собственных значений вещественной мат-
рицы
evlrh — вычисление всех собственных значений вещественной верх-
ней матрицы Хессенберга
evlsb — вычисление всех собственных значений вещественной лен-
точной симметричной матрицы
evlsf — вычисление всех собственных значений вещественной сим-
метричной матрицы
gvccg — вычисление всех собственных значений и собственных век-
торов для обобщённой проблемы на собственное значение вида Ax=λMx,
где A и M —комплексныематрицы
gvcrg — вычисление всех собственных значений и собственных век-
торов для обобщённой проблемы на собственное значение вида Ax=λMx,
где A и M — вещественные матрицы
gvcsp — вычисление всех собственных значений и собственных век-
торов для обобщённой проблемы на собственное значение вида Ax=λMx,
где A и M — вещественные симметричные матрицы и матрица M также
положительно-определённая
gvlcg — вычисление всех собственных значений для обобщённой
проблемы на собственное значение вида Ax=λMx,гдеA и M —комплексные матрицы
gvlrg — вычисление всех собственных значений для обобщённой
проблемы на собственное значение вида Ax=λMx,гдеA и M —вещественные матрицы
gvlsp — вычисление всех собственных значений для обобщённой
проблемы на собственное значение вида Ax=λMx,гдеA и M —вещественные симметричные матрицы и матрица M также положительноопределённая
Решение нелинейных уравнений
zanly — вычисление нуля комплексной аналитической функции
zbren — вычисление нуля функции, которая меняет знак на задан-
ном интервале

246 Приложение D
zplrc — вычисление нулей полинома с вещественными коэффици-
ентами (метод Лагерра)
zpocc — вычисление нулей полинома с комплексными коэффициен-
тами
zporc — вычисление нулей полинома с вещественными коэффици-
ентами (метод Дженкинса–Трауба)
zreal — вычисление нуля вещественной функции
neqbf — решение систем нелинейных уравнений (метод Бройдена,
начальная матрица Якоби задаётся приближённо)
neqbj — решение систем нелинейных уравнений (метод Бройдена,
начальная матрица Якоби задаётся точно)
neqnf — решение систем нелинейных уравнений с использовани-
ем алгоритма Пауэлла (модификация метода Ньютона, матрица Якоби
задаётся приближённо)
neqnj — решение систем нелинейных уравнений с использовани-
ем алгоритма Пауэлла (модификация метода Ньютона, матрица Якоби
задаётся точно)
Численное интегрирование
qand — вычисление интеграла от N -мерной функции по гиперпарал-
лелепипеду (N 20)
twodq — вычисление двумерного интеграла
qdag — вычисление интеграла методом Гаусса–Кронрода
qdagi — вычисление интеграла по бесконечному или полубесконеч-
ному интервалу
qdagp — вычисление интеграла от функции, имеющей особенности
в заданных точках отрезка интегрирования
qdags — вычисление интеграла от функции, имеющей особенности
на концах отрезка интегрирования
qdawc — вычисление главного значения интеграла в смысле Коши
от функции f(x)/(x − c)
qdawf — вычисление интеграла Фурье
qdawo — вычисление интеграла от функции, содержащей sin(x) или
cos(x)
qdaws — вычисление интеграла от функции, имеющей особенность
вида (x − a)
α
ln(x − a) или (b − x)βln(b − x),гдеa и b —пределы
интегрирования
qdng — вычисление интеграла от гладкой функции

Краткий обзор программного обеспечения 247
gorcf — вычисление узлов и весов формул Гаусса, Гаусса–Радау
или Гаусса–Лобатто, когда соответствующие ортогональные полиномы
заданы в форме трёхчленных рекуррентных соотношений
gorul — вычисление узлов и весов формул Гаусса, Гаусса–Радау или
Гаусса–Лобатто для некоторых классических весовых функций
Решение обыкновенных дифференциальных уравнений
ivpag — решение задачи Коши (неявные схемы Адамса или схе-
мы BDF)
ivprk — решение задачи Коши (схемы Рунге–Кутта пятого и ше-
стого порядка)
ivmrk — решение задачи Коши (встроенные Рунге–Кутта пары раз-
личных порядков)
bvpfd — решение системы дифференциальных уравнений с гранич-
ными условиями в двух точках методом конечных разностей
bvpms — решение системы дифференциальных уравнений с гранич-
ными условиями в двух точках методом стрельбы
Интерполяция и аппроксимация функций
csakm — построение кубического сплайна Акима
csdec — построение кубического сплайна с заданными условиями
на концах отрезка
csder — вычисление производных кубического сплайна в заданных
точках
csher — построение кубического сплайна Эрмита
csiez — построение кубического сплайна
csint — построение кубического сплайна, условия на концах отрезка
определяются программой
csitg — вычисление интеграла от кубического сплайна
csper — построение кубического сплайна с периодическими услови-
ями на концах отрезка
surf — построение двумерного интерполяционного полинома
csval — вычисление значения кубического сплайна в заданной точке
fnlsq — приближение набора данных заданной функцией (метод
наименьших квадратов)
rcurv — приближение набора данных полиномом (метод наимень-
ших квадратов)
rline — линейное приближение набора данных (метод наименьших
квадратов)

248 Приложение D
Библиотеки подпрограмм Группы по численным
алгоритмам (NAG
Библиотека NAG fl90
Библиотека NAG fl90 состоит из более чем 200 основных под-
программ, реализующих различные алгоритмы. Все подпрограммы написаны на языке Fortran 90/95, что даёт простой и эффективный инструмент для научных и инженерных расчётов.
Решение систем линейных уравнений
nag_gen_lin_sol — решение систем линейных уравнений с веще-
ственной или комплексной матрицей общего вида
nag_gen_lin_fac — вычисление LU-разложения вещественной или
комплексной матрицы общего вида
nag_gen_lin_sol_fac — решение систем линейных уравнений с ве-
щественной или комплексной матрицей общего вида, которая предварительно была разложена с использованием процедуры nag_gen_lin_fac
nag_sym_lin_sol — решение систем линейных уравнений с веще-
ственной симметричной или комплексной Эрмитовой матрицей
nag_sym_lin_fac — вычисление разложения Холесского или Банча–
Кауфмана (Bunch–Kaufman) вещественной симметричной или комплексной Эрмитовой матрицы
nag_sym_lin_sol_fac — решение систем линейных уравнений с ве-
щественной симметричной или комплексной Эрмитовой матрицей, которая предварительно была разложена с использованием процедуры
nag_sym_lin_fac
nag_tri_lin_sol — решение систем линейных уравнений с веще-
ственной или комплексной треугольной матрицей
nag_tri_lin_cond — оценка числа обусловленности вещественной
иликомплекснойтреугольнойматрицы
nag_tri_mat_det — вычисление определителя вещественной или
комплексной треугольной матрицы
nag_gen_bnd_lin_sol — решение систем линейных уравнений с ве-
щественной или комплексной ленточной матрицей
nag_gen_bnd_lin_fac — вычисление LU-разложения вещественной
или комплексной ленточной матрицы
nag_gen_bnd_lin_sol_fac — решение систем линейных уравне-
ний с вещественной или комплексной ленточной матрицей, кото-
,TheNumericalAlgorithmsGroup)

Краткий обзор программного обеспечения 249
рая предварительно была разложена с использованием процедуры
nag_gen_bnd_lin_fac
nag_sym_bnd_lin_sol — решение систем линейных уравнений с ве-
щественной симметричной или комплексной Эрмитовой положительноопределённой ленточной матрицей
nag_sym_bnd_lin_fac — вычисление разложения Холесского ве-
щественной симметричной или комплексной Эрмитовой положительноопределённой ленточной матрицы
nag_sym_bnd_lin_sol_fac — решение систем линейных урав-
нений с вещественной симметричной или комплексной Эрмитовой
положительно-определённой ленточной матрицей, которая предварительно была разложена с использованием процедуры nag_sym_ bnd_lin_fac
Задача на собственное значение
nag_sym_eig_all — вычисление всех собственных значений и (ес-
ли требуется) собственных векторов вещественной симметричной или
комплексной Эрмитовой матрицы
nag_sym_eig_sel — вычисление отдельных собственных значений и
(если требуется) соответствующих собственных векторов вещественной
симметричной или комплексной Эрмитовой матрицы
nag_sym_tridiag_reduc — преобразование вещественной симмет-
ричной или комплексной Эрмитовой матрицы в вещественную симметричную трёхдиагональную матрицу
nag_sym_tridiag_orth — построение матрицы преобразования, за-
данного процедурой nag_sym_tridiag_reduc
nag_sym_tridiag_eig_all — вычисление всех собственных значений
и (если требуется) собственных векторов вещественной симметричной
трёхдиагональной матрицы
nag_sym_tridiag_eig_val — вычисление отдельных собственных
значений вещественной симметричной трёхдиагональной матрицы
nag_sym_tridiag_eig_vec — вычисление отдельных собственных
векторов вещественной симметричной трёхдиагональной матрицы
nag_nsym_eig_all — вычисление всех собственных значений и (ес-
ли требуется) собственных векторов вещественной или комплексной
матрицы общего вида
nag_schur_fac — вычисление разложения Шура вещественной или
комплексной матрицы общего вида
nag_sym_gen_eig_all — вычисление всех собственных значений и
(если требуется) собственных векторов для обобщённой проблемы на

250 Приложение D
собственное значение вида Ax=λMx,гдеA и M — вещественные симметричные или комплексные Эрмитовые матрицы и матрица M также
положительно-определённая
nag_sym_gen_eig_sel — вычисление отдельных собственных зна-
чений и (если требуется) соответствующих собственных векторов для
обобщенной проблемы на собственное значение вида Ax=λMx,гдеA
и M — вещественные симметричные или комплексные Эрмитовые матрицы и матрица M также положительно-определённая
nag_nsym_gen_eig_all — вычисление всех собственных значений
и (если требуется) собственных векторов для обобщённой проблемы на
собственное значение вида Ax=λMx,гдеA и M — вещественные или
комплексные несимметричные матрицы
nag_gen_schur_fac — вычисление обощённого разложения Шура
вещественной или комплексной матрицы
Решение нелинейных уравнений
nag_polynom_roots — вычисление нулей полинома
nag_nlin_eqn_sol — решение нелинейного уравнения
nag_nlin_sys_sol — решение систем нелинейных уравнений
Численное интегрирование
nag_quad_1d_gen — вычисление интеграла от функции, имеющей
особенности в заданных точках отрезка интегрирования
nag_quad_1d_wt_trig — вычисление интеграла от функции, содер-
жащей sin(x) или cos(x)
nag_quad_1d_wt_end_sing — вычисление интеграла от функции,
имеющей особенность вида (x −a)
α
ln(x −a) или (b − x)βln(b −x),гдеa
и b — пределы интегрирования
nag_quad_1d_wt_hilb — вычисление главного значения интеграла
всмыслеКошиотфункцииf(x)/(x −c)
nag_quad_1d_data — вычисление интеграла от функции, опреде-
лённой набором значений, метод Гилла–Миллера (Gill–Miller)
nag_quad_1d_inf_gen — вычисление интеграла по бесконечному
или полубесконечному интервалу
nag_quad_1d_inf_wt_trig — вычисление интеграла по бесконечно-
му или полубесконечному интервалу от функции, содержащей sin(x)
или cos(x)
nag_quad_md_rect_qand — вычисление интеграла от N-мерной
функции по гиперпараллелепипеду
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
