|
Текст подпрограммы и версий ( Фортран ) qsh4r.zip qsh4d.zip |
Тексты тестовых примеров ( Фортран ) tqsh4r.zip tqsh4d.zip |
|
Текст подпрограммы и версий ( Си ) qsh4r_c.zip qsh4d_c.zip |
Тексты тестовых примеров ( Си ) tqsh4r_c.zip tqsh4d_c.zip |
|
Текст подпрограммы и версий ( Паскаль ) qsh4r_p.zip qsh4e_p.zip |
Тексты тестовых примеров ( Паскаль ) tqsh4r_p.zip tqsh4e_p.zip |
Вычисление определенного четырехкратного интеграла по прямоугольному параллелепипеду с заданной точностью.
QSH4R вычисляет четырехкратный интеграл по прямоугольному параллелепипеду с погрешностью
B
Е ( 1 + | ∫ f (x) dx | ) , по сеткам Холтона.
A
E - меpа погрешности вычисления интеграла, задаваемая пользователем.
Интеграл считается вычисленным, если разность двух приближенных значений интеграла по N точкам и по 2N точкам меньше, чем E(1 + J), где J - значение интеграла по 2N точкам.
И.М. Соболь. Многомерные квадратурные формулы и функции Xааpа, "Hаука", M.: 1969.
SUBROUTINE QSH4R (RINT, A, B, F, E, IERR)
Параметры
| RINT - | вещественная переменная, содержащая вычисленное значение интеграла; |
| A - | вещественный вектоp длины 4, в котоpом задаются нижние пределы интегрирования; |
| B - | вещественный вектоp длины 4, в котоpом задаются верхние пределы интегрирования; |
| F - | имя вещественной подпрограммы - функции вычисления подинтегральной функции; |
| E - | заданная меpа погрешности вычисления интеграла (тип: вещественный); |
| IERR - | целая переменная, служащая для диагностических сообщений: |
| IERR = 65 - | когда заданная точность не может быть достигнута. |
Версии
| QSH4D - | вычисление с удвоенной точностью определенного четырехкратного интеграла по прямоугольному параллелепипеду с заданной точностью. |
Вызываемые подпрограммы
| UTQS10 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы QSH4R. |
| UTQS12 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы QSH4D. |
Замечания по использованию
|
Может случиться, что пользователь задал слишком высокую точность вычислений интеграла, которая не достигается при числе точек N = 2*109. Тогда подпрограммы UTQS10, UTQS12 выдадут диагностическое сообщение "заданная точность не может быть достигнута". | |
| В подпрограмме QSH4D параметры RINT, A, B, F, E имеют тип DOUBLE PRECISION. |
REAL FUNCTION F(X)
DIMENSION X(4)
F = X(1)*X(2)*X(3)*X(4)
RETURN
END
EXTERNAL F
DIMENSION A(4), B(4)
A(1) = -1.
B(1) = 2.
A(2) = -1.
B(2) = 2.
A(3) = -1.
B(3) = 2.
A(4) = -1.
B(4) = 2.
CALL QSH4R (RINT, A, B, F, 0.005, IERR)
Результаты: RINT = 5.0163806920 , IERR = 0.