Coder Social home page Coder Social logo

Comments (7)

Keno avatar Keno commented on June 30, 2024

What's the license of the Fortran code and does it make any sense to translate it to Julia?

from polynomials.jl.

andreasnoack avatar andreasnoack commented on June 30, 2024

They haven't stated the license, but I can try to ask them if MIT is okay.

I have considered writing a Julia version, but I think it would take more time than I can allow to spend.

By the way, I should add that the advantage of their method is that the companion matrix can be stored very compactly and hence it is possible to calculate the roots of polynomials of very high degree.

from polynomials.jl.

hrobotron avatar hrobotron commented on June 30, 2024

Any private progress on this topic? Would be interesting to compare the KU Leuven algorithm to a8c9302;
and if there were no performance penalty, I'd opt for the faster algorithm. If you have the Fortran code running, please test against a8c9302 and if the outcome will be positive, let's consider porting to native Julia.

Also, do you have any author feedback on licensing?

from polynomials.jl.

andreasnoack avatar andreasnoack commented on June 30, 2024

Just checked my email and Watkins replied that he is fine with MIT license for the AMVW code. There is no doubt that AMVW code can handle much larger problems and I think it is faster for all problem sizes. It would be great to use the AMVW functionality for finding roots in this package. It would either require that we find a way to supply binaries of the Fortran code or port the code to Julia. Right now, I don't have much time to do any of these but if you are interested in trying it out, I can try to help.

from polynomials.jl.

hrobotron avatar hrobotron commented on June 30, 2024

I'd definitely opt for porting to native Julia. I will await whether my other pull requests will find their way to the pkg, then I may consider investing some work into trying and porting the AMVW code. BTW, if you have the code running (outside of Julia), can you just run few tests, what will be errors of Fortran AMVW compared to a8c9302 roots? I mean

r=something (randn, real, complex,...)
r1=roots(poly(r))
r=sort(r, lt=(a,b)->(real(a)<real(b)||imag(a)<imag(b)))
r1=sort(r1, lt=(a,b)->(real(a)<real(b)||imag(a)<imag(b)))
e=r1-r
maximum(abs(e))

or std(e).

It would be great to assure the AMVW will not give worse results, prior to replace the very standard way using full O(n^2) companion matrix. No doubt it will be faster, though.

from polynomials.jl.

jverzani avatar jverzani commented on June 30, 2024

Your other pull request will find its way in soon. I was going to ask you to add a test, but see you've already got there. This would be a good addition in my opinion, though it might be best in an independent package at the outset.

from polynomials.jl.

jverzani avatar jverzani commented on June 30, 2024

This was done in https://github.com/jverzani/AMRVW.jl

from polynomials.jl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.