fredrikj.net / blog /

Palaiseau FLINT workshop report

February 20, 2025

The third entry in the current series of annual-ish FLINT development workshops took place January 27 - 31, 2025 at École polytechnique in Palaiseau outside Paris, France. Here is a quick recap of what we accomplished.

Contents

Participation

We had a similar tournout to the previous workshops, with 13 on-site participants and a few remote contributors. A few more people were signed up but unfortunately couldn't make it for various reasons. The funding situation was good due to support from both ANR NuSCAP and ERC 10000 DIGITS.


Theta functions

Jean continued his big rewrite of the code for general theta functions to improve performance and robustness and also simplify the code. The rewrite was finished a couple of weeks after the workshop and the resulting PR #2182 is currently awaiting final review (presumably by me, but anyone is welcome to look). Jean also gave a talk at the workshop, explaining the algorithm and presenting the new results.

ODEs and holonomic functions

Albin, Marc, Pascal, Ricardo and I discussed the API, scope and implementation aspects of a future FLINT module (or set of modules) for working with holonomic/D-finite functions (and more generally with ODEs). Marc presented a work-in-progress implementation (#2186) of summation of D-finite series. I wasn't able to spend as much time as I would have wanted myself on this topic at the workshop, but Marc made progress with his code anyhow; it should be interesting to see this develop more in the near future (hopefully) as this will be a very powerful addition to FLINT.

Generics

Ricardo, Lars and I got quite a bit of work done on generics, including:

I also did a presentation about how to use FLINT's generics.

Interfaces

As usual, a lot of time went into improving the FLINT interfaces in downstream projects:

General maintenance

We (mainly Albin, Ricardo and I) did a bunch of general project maintenance: website maintenance (#2022, flintwebpage#12), creating an issue template (#2056), compiler stuff (#2127, #2205) trying out docstring macros (#2216), optimizing test code (#2195), optimizing parts of the library for code size (#2202), fixing memory leaks and UBs reported by the address sanitizer (#2213, #2220), re-enabling compiler warnings (#2230) and more.

Integer multiplication seminar

On Friday, we co-hosted the MAX seminar, with Albin presenting our recent paper on faster-than-GMP basecase integer and floating-point multiplication in FLINT.

Final comments

Apologies to anyone whose contribution during this wek was not mentioned in this summary (feel free to notify me if you think I should add something). As usual, the value of these workshops is not just the actual code being written (or removed!) during the week, but also the chance to meet socially and have all kinds of useful informal discussions, so thanks to everyone for showing up!


I want to give a special shoutout to Ricardo for helping track down some gnarly bugs in my code.

Thanks to Marc, Pierre and Ricardo for the local organization; my impression was that everything ran very smoothly.

Since this workshop was held just at the beginning of 2025, we could very well do another one this year. If you are interested in co-organizing and/or have some ideas or constraints for the time and location of the next workshop, don't hesitate to get in touch. Our Zulip chat is a good place to talk.



fredrikj.net  |  Blog index  |  RSS feed  |  Follow me on Mastodon  |  Become a sponsor