# Finite difference approximation for third order partials?

1. Nov 12, 2011

### swuster

I'm attempting to perform interpolation in 3 dimensions and have a question that hopefully someone can answer.

The derivative approximation is simple in a single direction:

df/dx(i,j,k)= [f(i+1,j,k) - f(i-1,j,k)] / 2

And I know that in the second order:

d2f/dxdy(i,j,k)= [f(i+1,j+1,k) - f(i+1,j,k) - f(i,j+1,k) + f(i-1,j-1,k)] / 4

The final item I need is the third order approximation, and I'm not sure how to scale the first two into a third variable.

d3f/dxdydz(i,j,k)= ?

Can anyone shed some light on this?

2. Nov 13, 2011

### hunt_mat

can't you just apply Taylor series? You want
$$\frac{\partial^{3}f}{\partial x\partial y\partial z}$$
Right?

3. Nov 13, 2011

### swuster

Yes but I don't have the function itself; I only have its value at various points i-2, i-1, i, i+1, i+2, etc.

4. Nov 13, 2011

### hunt_mat

Just apply Taylors theorem in 1D to each variable in turn.

5. Nov 14, 2011

### eztum

d2f/dxdy(i,j,k) = [f(i+1,j+1,k) - f(i+1,j,k) - f(i,j+1,k) + f(i-1,j-1,k)] / 4
so you have to do the first order derivation for z, which means for indexes in short-hand
notation

[(k->k+1) - (k->k-1)]/2

By the way, congratulations for having chosen the symetrical representation of the first derivative, it is much more accurate than [(k->k+1) - ()].

So lets do it:
d3f(x,y,z)/dxdydz = {[f(i+1,j+1,k+1) - f(i+1,j,k+1) - f(i,j+1,k+1) + f(i-1,j-1,k+1)]
- [f(i+1,j+1,k-1) - f(i+1,j,k-1) - f(i,j+1,k-1) + f(i-1,j-1,k-1)]}/8 =
[f(i+1,j+1,k+1) - f(i+1,j,k+1) - f(i,j+1,k+1) + f(i-1,j-1,k+1)
- f(i+1,j+1,k-1) + f(i+1,j,k-1) + f(i,j+1,k-1) - f(i-1,j-1,k-1)]/8
That's it.