python - Calculating gradient with NumPy -
i can not understand numpy.gradient
function , how use computation of multivariable function gradient.
for example, have such function:
def func(q, chi, delta): return q * chi * delta
i need compute it's 3-dimensional gradient (in other words, want compute partial derivatives respect variables (q, chi, delta)).
how can calculate gradient using numpy?
the problem is, numpy can't give derivatives directly , have 2 options:
with numpy
what have do, define grid in 3 dimension , evaluate function on grid. afterwards feed table of function values numpy.gradient
array numerical derivative every dimension (variable).
example here:
from numpy import * x,y,z = mgrid[-100:101:25., -100:101:25., -100:101:25.] v = 2*x**2 + 3*y**2 - 4*z # random function potential ex,ey,ez = gradient(v)
without numpy
you calculate derivative using centered difference quotient.
this essentially, numpy.gradient
is doing every point of predefined grid.
Comments
Post a Comment