Open pchavez201706 opened 2 months ago
Sorry not too have responded. I thought this was due to some internal rounding where the last digit is numerically zero, but on my machine it isn't happening:
julia> using Polynomials
julia> x=-2:1
-2:1
julia> y=[0.0360126786947437, 0.020007043719302054, 0.0360126786947437, 0.020007043719302054]
4-element Vector{Float64}:
0.0360126786947437
0.020007043719302054
0.0360126786947437
0.020007043719302054
julia> Polynomials.fit(x,y,2).coeffs
3-element Vector{Float64}:
0.02640929770947871
-0.0032011269950883276
-8.177564888977996e-19
In the constructor we have a check for trailing zeros. One way to avoid this if it happens would be to using Polynomials.PnPolynomial
which doesn't include that check.
This is my first issue report, so please forgive me if I "didn't get the memo" about this finding at some earlier date, but it's quite simple and shouldn't waste much time in the worst-case:
In Julia 1.7.3, Polynomials.fit with the third input argument ("deg"), i.e., the degree of the polynomial desired, of value x always returns a Polynomial of x+1 number of coefficients.
In Julia 1.10.4, Polynomials.fit with the third input argument ("deg") of value x ALMOST always returns a Polynomial of x+1 number of coefficients.
MWE (note the difference in one of the returns between the two code blocks with the same two Polynomial.fit commands run in the two Julia versions):