# How to calculate partial derivative of an InterpolatingFunction in two variables

I have a InterpolatingFunction from a list of complex data $j(x,y)$ in two variables $x$ and $y$.

I need to evaluate this equation $( x ∂j/∂y - y ∂j/∂x )$.

x = {0.01, 0.02, 0.03, 0.04, 0.01, 0.02, 0.03, 0.04, 0.01, 0.02, 0.03,
0.04, 0.01, 0.02, 0.03, 0.04};
y = {0.05, 0.05, 0.05, 0.05, 0.06, 0.06, 0.06, 0.06, 0.07, 0.07, 0.07,
0.07, 0.08, 0.08, 0.08, 0.08};

j = {0.010561397860905564 + 0.0015976985131723536 I,
0.014020635474832743 + 0.0025977169091002837 I,
0.017487513072750305 + 0.003602592422820732 I,
0.020961981006940338 +
0.0046123543767775275 I, -0.01371285709417238 -
0.0049735813378507425 I, -0.010312644229723354 -
0.004004629742597602 I, -0.00690445946081937 -
0.0030310857543026193 I, -0.003488357390773193 -
0.002052913771772308 I, -0.00006438567799935371 -
0.001070077781411395 I,
0.0033674092402317087 - 0.00008254401950370003 I,
0.006806973184737428 + 0.0009097221180533224 I,
0.010254263771322686 + 0.0019067570422475653 I,
0.01370921819568967 + 0.0029085892815736082 I,
0.017171802982761625 + 0.003915256260194262 I,
0.020641953493563608 +
0.004926787666825977 I, -0.013998626378818357 -
0.0046779948653150735 I};


I used the interpolation:

    jj = Interpolation[Transpose[{x, y, j}]]


I tried to do the derivative as following:

     dd[a_, b_, d_, i_] :=
Evaluate[a[[i]]*D[0, 1][jj[[i]]][a[[i]], b[[i]]] -
b[[i]]*D[1, 0][jj[[i]]][a[[i]], b[[i]]]]

m = Table[dd[x, y, jj, i], {i, Length[x]}]


I am a new in Mathematica, and I tried the similar questions here, but I couldn't find a solution. Please can anyone help me to calculate this derivative.

Thank you

jj = Interpolation[Transpose[{x, y, j}]];
der[xx_,yy_] := xx Derivative[1, 0][jj][xx, yy] - yy Derivative[0, 1][jj][xx, yy]

der[0.015, 0.055]
(* 0.12972 + 0.0351906 I *)

Plot3D[
Evaluate[
ReIm[der[xx, yy]]
]
, {xx, 0.01, 0.04}, {yy, 0.05, 0.08}
, PlotStyle -> Opacity[0.5]
]


z[u_, v_] := {-v, u}.Grad[jj[a, b], {a, b}] /. Thread[{a, b} -> {u, v}]

Plot3D[Evaluate[ReIm[z[u, v]]], {u,##& @@ MinMax[x]}, {v, ##& @@ MinMax[y]},
PlotStyle -> Opacity[0.5], PlotLegends -> {HoldForm @ Re[z[u, v]], HoldForm@Im[z[u, v]]}]