Skip to content

Instantly share code, notes, and snippets.

@saschatimme
Created April 27, 2018 17:48
Show Gist options
  • Save saschatimme/4c089f8d1454aac1cf24a9b811e26050 to your computer and use it in GitHub Desktop.
Save saschatimme/4c089f8d1454aac1cf24a9b811e26050 to your computer and use it in GitHub Desktop.

Hey guys,

I worked on a new package for the fast evaluation of sparse (multivariate) polynomials, StaticPolynomials.jl. The key idea is to encode the support of a polynomial in it's type. With a known support we then can use @generated to create high performance functions for the evaluation of the polynomial, the gradient etc. This put's some stress on the compiler but depending on the application the upside can be really nice.

Here is a benchmark report for the current version and to compare the numbers here is a report with the current FixedPolynomials master. The systems references are from a collection of TestSystems I started here. For large systems (like rps10) the complex Jacobian is up to 14 times faster.

The package still needs more documentation etc. but I wanted to get some early feedback if you are curious and have some spare time.

I would also move the package under the organization at some point if that's fine with you :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment