[SciPy-User] scipy.interpolate.rbf: how is "smooth" defined?
Mon Aug 30 10:57:47 CDT 2010
On Mon, Aug 30, 2010 at 11:18 AM, denis <firstname.lastname@example.org> wrote:
> On Aug 30, 1:10 pm, Mischa Schirmer <mis...@astro.uni-bonn.de> wrote:
>> rbf has a 'smooth' parameter which is working well,
>> but it is exteremly poorly documented. Basically,
>> for smooth=0 no smoothing takes place, and for
>> smooth>0 some smoothing takes place
> nope, it's just an offset for the matrix A that RBF solves:
> interpolate/rbf.py line 191 (scipy 0.8.0rc3)
> self.A = self._init_function(r) - eye(self.N)*self.smooth
> self.nodes = linalg.solve(self.A, self.di)
> Josef, we went back and forth on this back in February, and I thought
> -- the -= should be a += (but no ticket)
Yes, do you want to open a ticket?
> -- for gaussian, use smooth = -1e-6 to nudge the eigenvalues of A >
1e-6 might be more like a minimum, in many cases it might need to be
much larger. But it would be useful to have better heuristics than
just trial and error.
> others have eigenvalues < 0 and > 0, so leave smooth=0 .
> Mischa, are you using Gaussian ?
> You could then try varying epsilon aka r0 in exp( - (r / r0)^2 )
> which has a big affect on the fit.
> Its "default to approximate average distance between [all] nodes" is
> not so hot,
> better av distance to nearby nodes, i.e. smaller Gaussian peaks.
> -- denis
> SciPy-User mailing list
More information about the SciPy-User