Численно получить смешанную вторую производную функции n переменных

yurijm123

Скажите, известна ли формула для оценки смешанной второй производной функции n переменных, похожая на трехточечную оценку первой производной, выводимую из ряда Тейлора? Вообще, как вычисляют смешанную вторую производную функции n переменных? Меня никогда не учили численным методам.

sashok01

Нам нужно получить оценку для f,xy(x0,y0) (запятая означает частное диффренцирование). Пусть у нас есть равномерная сетка по x и по y. Пусть у нас также есть шаблон 3x3, то есть мы знаем значения f в точках (x0-hx,y0-hyx0,y0-hyx0+hx,y0-hyx0-hx,y0x0,y0x0+hx,y0x0-hx,y0+hyx0,y0+hyx0+hx,y0+hy).
Будем находить f,xy(x0,y0) в виде линейной комбинации значений f(x,y) в узлах сетки, т.е.
f,xy(x0,y0) = A11*f(x0-hx,y0-hy)+A12*f(x0,y0-hy)+A13*f(x0+hx,y0-hy) + ... + A33*f(x0+hx,y0+hy) (*)
коэффициенты Aij будем находить из условия, что формула (*) должна быть точна для как можно более высокого порядка малости dr. Для этого члены в правой части (*) приведем к точке f(x0,y0) с помощью формулы ряда Тейлора:
f(x,y)=f(x0,y0)+f,x(x0,y0)*(x-x0) + f,y(x0,y0)*(y-y0) + 1/2*f,xx(x0,y0)*(x-x0)^2 + f,xy(x0,y0)*(x-x0)*(y-y0) + 1/2f,yy(x0,y0)*(y-y0)^2 + 1/6*f,xxx(x0,y0)*(x-x0)^3 + 1/2*f,xxy(x0,y0)*(x-x0)^2*(y-y0) + 1/2*f,xyy(x0,y0)*(x-x0)*(y-y0)^2 + 1/6*f,yyy(x0,y0)*(y-y0)^3 + O(dr^4)
Будем обозначать значение функции в точке (x0,y0) и всех её производных в этой точке, опуская запись этой точки, т.е. f(x0,y0)->f; f,x(x0,y0) -> f,x и т.д.
f(x0+-hx,y0) =f +- hx*f,x + hx^2/2*f,xx +- hx^3/6*f,xxx + O(hx^4)
f(x0,y0+-hy) =f +- hy*f,y + hy^2/2*f,yy +- hy^3/6*f,yyy + O(hy^4)
f(x0+-hx,y0-hy) =f -hy*f,y +- hx*f,x + hx^2/2*f,xx -+hx*hy*f,xy + hy^2/2*f,yy +-hx^3/6*f,xxx -hx^2*hy/2*f,xxy +- hx*hy^2/2*f,xyy - hy^3/6*f,yyy + O(dr^4)
f(x0+-hx,y0+hy) =f +hy*f,y +- hx*f,x + hx^2/2*f,xx +-hx*hy*f,xy + hy^2/2*f,yy +-hx^3/6*f,xxx + hx^2*hy/2*f,xxy +- hx*hy^2/2*f,xyy + hy^3/6*f,yyy + O(dr^4)
Подставляем это всё в (* получим:
f,xy = f*(A11+A12+A13+A21+A22+A23+A31+A32+A33) + f,x*hx*(-A11+A13-A21+A23-A31+A33) + f,y*hy*(-A11-A12-A13+A31+A32+A33)+ 1/2*f,xx*hx^2*(A11+A13+A21+A23+A31+A33) + 1/2*f,yy*hy^2*(A11+A12+A13+A31+A32+A33) + f,xy*hx*hy*(A11-A13-A31+A33)+1/6*f,xxx*hx^3*(-A11+A13-A21+A23-A31+A33) + 1/2*f,xxy*hx^2*hy*(-A11-A12-A13+A31+A32+A33) + 1/2*f,xyy*hx*hy^2*(-A11+A13-A21+A23-A31+A33) + 1/6*f,yyy*hy^3*(-A11-A12-A13+A31+A32+A33) + O(dr^4)
получаем необходимые условия для коэффициентов:
A11+A12+A13+A21+A22+A23+A31+A32+A33=0
-A11+A13-A21+A23-A31+A33=0
-A11-A12-A13+A31+A32+A33=0
A11+A13+A21+A23+A31+A33=0
A11+A12+A13+A31+A32+A33=0
A11-A13-A31+A33=1/(hx*hy)
-A11+A13-A21+A23-A31+A33=0
-A11-A12-A13+A31+A32+A33=0
-A11+A13-A21+A23-A31+A33=0
-A11-A12-A13+A31+A32+A33=0
получаем 10 уравнений, 9 неизвестных. Несмотря на это, последние четыре уравнения повторяются и на самом деле тут не более 6 независимых уравнений. Любое решение этой системы будет приведет к формуле (* которая будет точной для полиномов не более третьей степени. Например, в качестве решения подойдёт следующее:
A11=A33=1/4/(hx*hyA13=A31=-1/4/(hx*hyA12=A21=A22=A23=A32=0;
Для полиномов четвертой степени и выше это равенство уже не будет точным, т.к., например, в правой части (*) будет член 1/6*f,xyyy*hx*hy^3*(A11-A13-A31+A33 что не может равняться нулю из-за условия A11-A13-A31+A33=1/(hx*hy). Для повышения порядка точности необходимо использовать шаблоны большего размера (например, 5x5). Для нахождения формулы для смешанных производных более высокого порядка (типа f,xxy,f,xyy, f,xxyy , f,xyyy, f,xxxy) также будет необходимо использовать больший шаблон.
Т.е. конечные разности для смешанной производной для шаблона 3x3 можно записать в виде
f,xy(x0,y0)=1/4/(hx*hy)*(f(x0+hx,y0+hy)+f(x0-hx,y0-hy) -f(x0-hx,y0+hy)-f(x0+hx,y0-hy)
и эта формула будет точна для любых полиномов степени не выше третьей.

tester1

числовая функция трех вещественных переменных - это числовая функция одного переменного из трехмерного вещественного пространства
вторая производная Фреше (см. http://ru.wikipedia.org/wiki/%CF%F0%EE%E8%E7%E2%EE%E4%ED%E0... такой функции - это линейный ограниченный оператор в трехмерном пространстве (называемый также матрицей Гессе http://en.wikipedia.org/wiki/Hessian_matrix%29
соответственно, тебе нужно получить оценку на норму это матрицы

yurijm123

А для функции n переменных как? Двумерный случай я уже выводил

sashok01

какая именно тебе производная нужна?

yurijm123

смешанная по Xi и Xj

seregaohota

Вообще, как вычисляют смешанную вторую производную функции n переменных?
как получают обычную производную ( f(x_i+h)-f(x_i-h) )/(2h) - производная в x_i с точностью до O(h^2)
Примени теперь к этой дроби такой же разностный оператор только по x_j
( f(x_i+h,x_j+h) + f(x_i-h,x_j-h) - f(x_i+h,x_j-h) - f(x_i-h,x_j+h) )/(4h^2)

sashok01

ну подставь вместо (x,y) (x_i, x_j а вместо f(x,y) - f(x_i, x_j, x_1, .. x_(i-1 x_(i+1 x_(i+2 ... x_(j-1 x_(j+1 x_(j+2 ... x_n)
Оставить комментарий
Имя или ник:
Комментарий: