# plotting – How to derive a 3D interpolated surface?

I want to derive a surface I interpolated which lies in 3D. However my use of Derivative does not seem to work and I don’t understand why.
What I want is to calculate and plot the derivative of this surface :

I tried to use :

`````` DINHA = Flatten(
ParallelTable({x, y,
Derivative(1, 0)(INHA)(x, y) + Derivative(0, 1)(INHA)(x, y)}, {x,
1, 201, 10}, {y, 1, 101, 10}), 1);
``````

But it is taking a lot of memory and when I tried to reduce the number of points it gives me a pixelated result.

``````ListPlot3D(DINHA)
``````

What do I do wrong ? Can’t I derive an interpolated surface which equal to a new interpolation which I can plot ?

You want to Plot the same surface: (Don’t be afraid by the length it is not complicated. There is a big matrix to define then I find the zeros of the determinant then I plot one of the two surface of zeros and this is this surface that I want to derive)

``````     Mraw((Epsilon)_, (Delta)g_, (Delta)d_, U_, L_,
k_, (Kappa)0_) = ({{u((Epsilon), (Delta)g)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))),
v((Epsilon), -(Delta)g)*
Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), -u((Epsilon),
0)*Exp(-I*
L/2*(k + (Kappa)((Epsilon), (Kappa)0))), -u((Epsilon), 0)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), -v((Epsilon),
0)*Exp(-I*
L/2*(k - (Kappa)((Epsilon), (Kappa)0))), -v((Epsilon), 0)*
Exp(I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), 0,
0}, {v((Epsilon), (Delta)g)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))),
u((Epsilon), -(Delta)g)*
Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), -v((Epsilon),
0)*Exp(-I*
L/2*(k + (Kappa)((Epsilon), (Kappa)0))), -v((Epsilon), 0)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), -u((Epsilon),
0)*Exp(-I*
L/2*(k - (Kappa)((Epsilon), (Kappa)0))), -u((Epsilon), 0)*
Exp(I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), 0, 0}, {0,
0, -u((Epsilon), 0)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), -u((Epsilon),
0)*Exp(-I*
L/2*(k + (Kappa)((Epsilon), (Kappa)0))), -v((Epsilon), 0)*
Exp(I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), -v((Epsilon),
0)*Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))),
u((Epsilon), (Delta)d)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))),
v((Epsilon), -(Delta)d)*
Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0)))}, {0,
0, -v((Epsilon), 0)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), -v((Epsilon),
0)*Exp(-I*
L/2*(k + (Kappa)((Epsilon), (Kappa)0))), -u((Epsilon), 0)*
Exp(I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), -u((Epsilon),
0)*Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))),
v((Epsilon),

1. (Delta)d)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))),
u((Epsilon), -(Delta)d)*
Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0)))}, {(1 + I*U)*
u((Epsilon), (Delta)g)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), (-1 + I*U)*
v((Epsilon), -(Delta)g)*
Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), (1 + I*U)*
u((Epsilon), 0)*
Exp(-I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), (-1 + I*U)*
u((Epsilon), 0)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), (1 + I*U)*
v((Epsilon), 0)*
Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), (-1 + I*U)*
v((Epsilon), 0)*
Exp(I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), 0,
0}, {(1 + I*U)*v((Epsilon), (Delta)g)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), (-1 + I*U)*
u((Epsilon), -(Delta)g)*
Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), (1 + I*U)*
v((Epsilon), 0)*
Exp(-I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), (-1 + I*U)*
v((Epsilon), 0)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), (1 + I*U)*
u((Epsilon), 0)*
Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), (-1 + I*U)*
u((Epsilon), 0)*
Exp(I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), 0, 0}, {0,
0, (-1 + I*U)*u((Epsilon), 0)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), (1 + I*U)*
u((Epsilon), 0)*
Exp(-I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), (-1 + I*U)*
v((Epsilon), 0)*
Exp(I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), (1 + I*U)*
v((Epsilon), 0)*
Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), (1 + I*U)*
u((Epsilon), (Delta)d)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), (-1 + I*U)*
v((Epsilon), -(Delta)d)*
Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0)))}, {0,
0, (-1 + I*U)*v((Epsilon), 0)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), (1 + I*U)*
v((Epsilon), 0)*
Exp(-I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), (-1 + I*U)*
u((Epsilon), 0)*
Exp(I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), (1 + I*U)*
u((Epsilon), 0)*
Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0))), (1 + I*U)*
v((Epsilon), (Delta)d)*
Exp(I*L/2*(k + (Kappa)((Epsilon), (Kappa)0))), (-1 + I*U)*
u((Epsilon), -(Delta)d)*
Exp(-I*L/2*(k - (Kappa)((Epsilon), (Kappa)0)))}});  u((Epsilon)_, (Delta)_) = (E^(I (Delta)/2) Sqrt(
1 + Sqrt(1 - 1/(Epsilon)^2)))/Sqrt(2); v((Epsilon)_, (Delta)_) = (E^(-I (Delta)/2) Sqrt(
1 - Sqrt(1 - 1/(Epsilon)^2)))/Sqrt(2); (Kappa)((Epsilon)_, (Kappa)0_) = (Kappa)0*Sqrt((Epsilon)^2 - 1); (Delta)d0 =.;
(Delta)g0 =.; U0 = 0.25; L0 = 0.5; Lmax = 10; k0 = (2 (Pi)/10^-4 +
(Pi)/2*0)/L0; (Kappa)00 = 1/1; (Delta)dstep = 0.01; (Delta)gstep
= 0.005; (Delta)step = 0.01; (Epsilon)0 =.; x0 = -L0/2; (Epsilon)step = 0.01;

MyMrawDet((Epsilon)_, (Delta)g_, (Delta)d_, U_, L_,     k_,
(Kappa)0_) :=    Det(Mraw((Epsilon), (Delta)g, (Delta)d, U, L,
k, (Kappa)0)); tempdet =    ParallelTable(
MyMrawDet((Epsilon)0, (Delta)g0, (Delta)d0, U0, L0,
k0/L0, (Kappa)00), {(Epsilon)0, 0 + (Epsilon)step,
1 - (Epsilon)step, (Epsilon)step}, {(Delta)g0, 0, 2 (Pi),
2 (Pi)*(Delta)gstep}, {(Delta)d0, 0, 2 (Pi),
2 (Pi)*(Delta)dstep});

AP = ParallelTable(   Sign(Re(tempdet))((p + 1)) -
Sign(Re(tempdet))((p)), {p, 1,     First(Dimensions(tempdet)) - 1,
1}); HighAP =   DeleteDuplicates(   Position(Re(
AP), -2), #1((2)) == #2((2)) && #1((3)) == #2((3)) && #1((1)) <
#2((1)) &); NHA = ParallelTable(    RotateLeft(HighAP((x))), {x, 1, First(Dimensions(HighAP)), 1}); INHA = Interpolation(NHA); Plot3D(
INHA(x, y), {x, 1, 201}, {y, 1, 101})
``````