[SciPy-User] multidimensional polynomial fit
Sun Jun 13 17:15:15 CDT 2010
On Sun, Jun 13, 2010 at 2:29 PM, Oscar Gerardo Lazo Arjona <
> David Goldsmith <d.l.goldsmith <at> gmail.com> writes:
> > Whatever you do, before submission, please ensure that your function has
> complete, Standard-conforming docstring (and, though this is not "my
> department," so to speak, most would probably join me in also asking that
> it be
> accompanied by a pretty complete suite of unit tests, esp. something as
> mathematically complicated as this - my off-the-cuff would be that it
> have at least three, preferably at least five non-trivial or semi-trivial
> by which I mean tests which pass when a non-trivial solution consisting of
> simple, e.g., integer, values is produced exactly [to within, say, 9
> for at least two degrees above 2, one even and one odd - just my $0.02).DG
> I implemented the function so that it returns a sage symbolic
> Although it could also return a list of coefficients. Within sage's command
> propt, it can be used like this:
> sage: var('x y z')
> (x, y, z)
> sage: G=-2*y^3*x +x^2 + x*y -5*z -1
> sage: pg=[(i,j,k,G.subs(x=i,y=j,z=k)) for i in srange(-1,1.5,0.5) for j in
> srange(-1,1.5,0.5) for k in srange(-1,1.5,0.5)]
> sage: load('/myhome/polynomial_fit.py')
> sage: Pg=polynomial_fit(pg,[2,3,1],[x,y,z],depreciation=True)
> -2.0*x*y^3 + x^2 + x*y - 5.0*z - 1.0
> It reconstructs the original polynomial without *any error*.
So the number of data _must_ equal the number of terms in the polynomial?
(Anything else will be over- or under-determined and require either some
sort of error minimizing fit.) What's your use case; just curious.
> Notice the
> depreciation option which depreciates coefficients that are smaller than
> so that they do not appear in the resulting polynomial.
> So, if I understood you correctly, this passes your propposed requirement
> ;) .I
> haven't written a docstring, but in the mean time, how do I make my
> I also did not understand what you meant by unit tests...
> SciPy-User mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the SciPy-User