Edgar Costa:
- fixed flints formula in homebrew Homebrew/homebrew-core#166490
- improved the release CI, to have hashes and nightly releases
- helped Bill with his Jupiter kernel development using xeus
- parsed the headers and the documentation with pycparser, so one can find mismatches, and fix them accordingly
- I still hope to submit a couple of PRs where I plan:
- fix mismatches between types and argument names
- have a CI that checks that new added functions are documented
Hartmut Monien:
- Examples for roots of ZZ[x] in Z[p]
- Examples for tanh-sinh integration
- Example for “Monien” summation
- Implementation of Flint general rings in Haskell version
- Permutations in Flint
Marc Mezzarobba:
- Worked on basic Sage wrappers for FLINT generics, https://github.com/mezzarobba/flint_gr_sage
- Took part in random discussions, including about API design for ODEs and holonomic functions, flintlib/flint#1881
Albin Ahlbäck:
- Fixed some build issues (disabling static build by default, removed
ldconfig
from Make, etc.), which led to a new patch for FLINT (v3.1.2) as Andreas Enge could not build withldconfig
. - Extended and corrected
config.guess
, and made changes accordingly inconfigure.ac
. - Worked out some sloppy lower bound for high multiplication and squaring routines.
- Fixed warnings in the "base" modules when setting
-Wextra
(mostly signed-unsigned compares and unused variables where the problem). Also created a new CI runner for checking for regressions here. - Fixed wrong stack usage for assembly routines.
- Created some hardcoded assembly routines for low multiplication. This has not been merged yet as I'm currently trying to figure out whether we actually need
$n + 1$ limbs, or simply$n$ limbs would suffice. - Worked with AVX512 for
fft_small
a bit, and tried to see where we could optimize this module. Let's see if I continue with this one, but I think it is namedfft_small_assembly
in my repository if anyone would like to check it out. - Had a great time and met new people 😎
Jean Kieffer:
My main focus was to improve the performance of acb_theta
functions by avoiding unnecessary computations as much as possible (I figured it would be a good idea to clean this up before thinking about thresholds with acb_modular_theta
):
- I introduced a "context" structure to avoid recomputing things multiple times in the quasilinear algorithm (e.g. computing Cholesky decompositions and exponentials of the input values only once.)
- Started rewriting key internal functions in the module (
acb_theta_naive_worker
,acb_theta_ql_steps
) to use this new structure. - Thought about more efficient ways to handle error bounds in the module, e.g. some internal functions should ignore the error radii of their inputs.
- All this didn't converge during the three days, but I'll continue working on it and hope to make a PR before the next workshop.
- I second "had a great time and met new people"!
Ricardo Buring:
- Discussed with Fredrik and Marc about an API for D-finite functions and ODEs in FLINT.
- Worked on generic implementations of Newton iteration and divide-and-conquer to solve systems of linear ODEs with univariate polynomial coefficients. After some more testing/fixing and small API changes, I'll be making PRs for including these in the
gr_poly
module, hopefully in the near future. - Discussed some potential optimizations of the above, e.g. using polynomials with matrix coefficients and passing an evaluation point directly. Also started benchmarking the above implementations.
- Two minor documentation PRs.
- Briefly looked at trying to build the documentation faster
- Made an amusing logo.
Vincent Neiger:
Hello, small report (on my remote participation): besides a bug fix on n_primitive_root, I have been working on a small prime FFT (prime up to ~60 bits, not using floating point conversions). Initially this was with nmod_poly_mat multiplication in mind, but in the end I thought it was good to understand better the FFT for nmod_poly first, and then move to the matrix case. I still need some more time (e.g. only forward FFT is done until now, and with no TFT) and then I should also do some more testing. But my current code is relatively concise and matches the performance of NTL's forward FFT. It also seems competitive with the current fft_small, if not faster, which surprises me: I would very much welcome any help on a good benchmarking file for fft_small's forward DFT for various sizes (not counting the time for precomputing root tables).
Bill Allombert:
- Did some benchmarking of FLINT vs Pari/GP, identified polynomial factoring and L-function bottlenecks
- Fixed include paths in example programs to allow normal compilation outside of Flint's build system
Kartik Venkatram
- Nearly finished PR for sparse linear algebra
Oscar Benjamin
- Building python-flint using meson
Fredrik Johansson
- Fixed several generics issues reported by participants
- Refactored the generic power series code
- Optimized
flint_mpn_mulmod_preinvn
and related functions using mulhigh - Implemented generic C mulhigh
- Started working on optimized
mpn_mod
code
- March 18 - 22, 2024
- University of Bordeaux, Bordeaux, France
- We have booked rooms 74 and 73 (ground floor) at LaBRI for the whole week (how to get to LaBRI)
- 9:30 Monday morning - 17:00 Friday afternoon (but feel free to come only for a part of the week)
- Thursday 10:00-12:00 we will co-host the usual weekly Bordeaux SageMath meeting
- Zulip chat: https://sagemath.zulipchat.com/#narrow/stream/408539-flint
- Wiki: https://github.com/flintlib/flint/wiki/Workshop-2024
- Performance tuning
- Integration in other software (SageMath, Oscar, python-flint, SymPy, etc.)
- Numerical and exact linear algebra
- p-adic arithmetic
- Generics
- Theta functions
- Noncommutative polynomials
- Fredrik Johansson ([email protected])
- Sébastien Labbé ([email protected])
- Andreas Enge ([email protected])
- Joëlle Lacoste-Rodrigues (admin)
To register for the workshop, please contact Fredrik. We expect to have funds to cover local expenses and/or travel for some participants, but we are still waiting for confirmation about the budget. Remote participation will be possible.
- Albin Ahlbäck
- Bill Allombert
- Oscar Benjamin (Tuesday - Thursday)
- Alex Best (tentatively, remote only)
- Ricardo Buring
- Xavier Caruso (tentatively, part of the week)
- Edgar Costa
- Vincent Delecroix
- Andreas Enge (except for Thursday)
- Fredrik Johansson
- Jean Kieffer (Tuesday - Thursday)
- Sébastien Labbé (Thursday)
- Marc Mezzarobba
- Hartmut Monien
- Vincent Neiger (remote, maybe in person)
- Aurel Page (Thursday morning)
- Julian Rüth (remote)
- Éric Schost (remote)
- Kartik Venkatram