Thanks a lot. Just a few minutes ago I saw here on the list an announcement
of the "Least-squares curve fitting package" with poly_fit, among others.
I think this is good enough for me at the moment.

I will come back to your suggestion concerning polynomials when I have a
better command of the type system. For polynomials there is surprisingly
many more interesting functionality than is usually implemented.


On Friday, May 9, 2014 6:30:06 AM UTC+2, Jameson wrote:
>
> As the author of Polynomial.jl, I'll say that being "a bit 
> unsatisfied" is a good reason to make pull requests for any and all 
> improvements :) 
>
> While loladiro is now the official maintainer of Polynomials.jl (since 
> he volunteered to do the badly-needed work to switch the coefficient 
> order), if I had access, I would accept a pull request for additional 
> roots() methods (parameterized by an enum type, for overloading, and 
> possibly also a realroots function), horner method functions, polyfit, 
> etc. 
>
> I would not accept a pull request for allowing a vector instead of a 
> Polynomial in any method, however. IMHO, this is a completely 
> unnecessary "optimization", which encourages the user to conflate the 
> concept of a Vector and a Polynomial without benefit. It could even 
> potentially lead to subtle bugs (since indexing a polynomial is 
> different from indexing a vector), or passing in the roots instead of 
> the polynomial. 
>
> I think merging your proposal for a polyfit function with 
> StatsBase.fit makes sense. You could use a tuple parameter to combine 
> the Polynomial parameter with the degrees information: 
>
> function fit((T::(Type{Polynomial},Int), data) 
>   P, deg = T 
>   return Poly( pfit(deg, data) ) #where pfit represents the 
> calculation of the polynomial-of-best fit, and may or may not be a 
> separate function 
> end 
> fit((Polynomial,3), data) 
>
> David de Laat put together a pull request to add his content to 
> Polynomial: https://github.com/vtjnash/Polynomial.jl/pull/25. He also 
> indicated he would update it for Polynomials.jl so that it could be 
> merged. 
>
> On Thu, May 8, 2014 at 8:23 AM, Hans W Borchers 
> <hwbor...@gmail.com<javascript:>> 
> wrote: 
> > Because I was a (tiny) bit unsatisfied with the Polynomial package, 
> > I wrote my own polynomial functions, like 
> > 
> >   - polyval() to be applied to vectors as well as polynomial types 
> >   - roots() that uses the Matlab order in constructing the companion 
> >       matrix and finding all roots 
> >   - horner() that utilizes the Horner scheme to compute the value 
> >       and the derivative of the polynomial at the same time 
> >       (useful for a specialized version of Newton's algorithm) 
> >   - a deflated Horner function to return p(x) = (x - x0)*q(x) when 
> >       x is a root of polynomial p 
> >   - polyfit() for fitting polynomials to data, etc. 
> > 
> > I think a polyfit() function should in any case be a part of a 
> polynomial 
> > package. (Is such a function contained in any other package?) 
> > 
> > Besides that an implementation of the Muller algorithm for computing 
> zeros 
> > of 
> > polynomials might be helpful. Or the calculation of the number of real 
> roots 
> > of a polynomial in an interval (Descartes' and Sturm's rules). There is 
> more 
> > interesting numerical stuff that could be part of such a polynomial 
> package. 
> > 
> > 
> > On Thursday, May 8, 2014 3:42:03 AM UTC+2, Tony Kelman wrote: 
> >> 
> >> Yes, Polynomial is using a different convention than Matlab or what you 
> >> used below in how it constructs the companion matrix. Polynomials.jl 
> uses 
> >> yet another convention. Both produce more accurate (comparable to 
> Matlab) 
> >> results for the roots of the Wilkinson polynomial if you just switch 
> the 
> >> indices during construction of the companion matrix. See 
> >> 
> https://github.com/vtjnash/Polynomial.jl/blob/master/src/Polynomial.jl#L350-L353
>  
> >> for Polynomial, or 
> >> 
> https://github.com/loladiro/Polynomials.jl/blob/master/src/Polynomials.jl#L324-L325
>  
> >> for Polynomials. 
> >> 
> >> I think the intent (see 
> https://github.com/vtjnash/Polynomial.jl/issues/5) 
> >> is to deprecate Polynomial and switch the coefficient order by 
> developing 
> >> under the Polynomials name going forward, but Keno's probably been too 
> busy 
> >> to register the new package, turn on issues, etc. I'm doing some work 
> on 
> >> piecewise stuff in a branch of Polynomials, I might just adopt the 
> package. 
> >> I know David de Laat has put together packages for sparse multivariate 
> >> polynomials https://github.com/daviddelaat/MultiPoly.jl and orthogonal 
> >> polynomials https://github.com/daviddelaat/Orthopolys.jl, don't think 
> >> they're registered but it might make sense to eventually unify all of 
> these 
> >> into the same package. 
> > 
> > 
>

Reply via email to