fittools - Tools for optimized fitting of functions¶
Use it like:
def gauss_ridge((reff, r210), a=1., mu0=10., mu1=-0.5, mu2=+0.01, si0=1.):
mu = mu0 + mu1*reff + mu2*reff**2
g = a*sympy.exp(-0.5*(r210-mu)**2/si0**2)
return g
minimizable = compileTheanoMinimizable(gauss_ridge)
xflat = <tuple containing 1d arrays of reff and r210>
yflat = <tuple containing potential results of gauss_ridge>
fmin = setData(minimizable, xflat, yflat)
guess = [1.0, 5, -0.01, 0.00, 1.]
fitres = scipy.optimize.minimize(fmin, guess, method="SLSQP", jac=True) #currently TNC and SLSQP are tested
print fitres.x
-
runmacs.spec.retrieval.fittools.
mkSymbolic
(func)[source]¶ Takes a function and returns a sympy expression of it.
-
runmacs.spec.retrieval.fittools.
numpyfy
(func)[source]¶ Takes a function with sympy operations and turns it into a function with numpy operations.