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

Основы научных вычислений. Введение в численные методы для физиков и инженеров

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Краткий обзор программного обеспечения 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-мерной
функции по гиперпараллелепипеду
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]