JACOBIAN Библиотека "JINRLIB" D401 Автор: А.П.Сапожников Язык: Фортран ВЫЧИСЛЕНИЕ МАТРИЦЫ ЯКОБИ Программа вычисляет матрицу Якоби для набора из M функций, зависящих от N независимых переменных. Структура: ---------- Тип: FUNCTION Имена входа для пользователя: JACOBIAN Используемые внешние программы: VFUN - п/п пользователя Обращение: ---------- K = JACOBIAN(VFUN,M,X,N,DF), где: X - (REAL*8) массив независимых переменных; N - (INTEGER) число независимых переменных; M - (INTEGER) количество функций; DF - (REAL*8) двумерный массив размерности (M,N+10) для записи матрицы производных и хранения промежуточных результатов; K - (INTEGER) результат функции JACOBIAN, характеризующий качество вычисленной матрицы производных: К=0 - все производные вычислены без проблем; К>0 - обнаружена осцилляция функции при изменении К-го аргумента; К<0 - осцилляция слишком сильная, полагаем все DF(I)/DX(J) = 0. VFUN - написанная пользователем подпрограмма для вычисления M значений вектор-функции F от N переменных: SUBROUTINE VFUN(X,N,Y,M), где: REAL*8 X(N) - массив N независимых переменных: REAL*8 Y(M) - массив для M значений функции: Y(1) = ... - F1(X) . . . Y(M) = ... - FM(X) END В вызывающей программе VFUN должна быть описана как EXTERNAL. Mетoд: ------ Матрицей Якоби для функции F = { F(I),I=1,2,...,M } в точке X= { X(J),J=1,2,...,N } будет матрица DF(M,N), состоящая из производных DF(I,J) = DF(I)/DX(J) (I=1,2,...,M; J=1,2,...,N). Для вычисления производных иcпoльзуется метoд Ромберга [1] чиcленнoгo интегpиpoвaния c pacпpocтpaнением нa чиcленнoе диффеpенциpoвaние, предложенный Рутишаузером [2]. Более подробное описание метода см. программу DERIVATIVE1 (D401). Литература: ----------- 1. Romberg W. Vereinfachte numerische Integration. Det. Kong. Norske Viedenskabers Selskab Forhandlinger, 28, Nr.7, Trondheim, 1955. 2. Rutishauser H. Ausdehnung des Rombergschen Prinzips, Numerishe Mathematik, 5, 48-54, 1963. |