GSoC Week 11: Interacing ARB
This week was primarily focussed on interfacting ARB library with CSymPy.
Arb is a C library for arbitrary-precision floating-point ball arithmetic, developed by Fredrik Johansson. It supports efficient high-precision computation with polynomials, power series, matrices and special functions over the real and complex numbers, with automatic, rigorous error control.
I opened PR 265 to interfact ARB with CSymPy. There were some initial hiccups with using ARB for C++. I opened up an issue arb/#21 which was very promptly fixed by @fredrik-johansson with a minor patch.
Since we were using an earlier release version 2.1.0 without this patch, @fredrik-johansson willingly released a new version 2.2.0 so that we could interface immediately.
I was particularly in twaeaking around with CMAKE to interface ARB. I read quite a bit about it and managed to get a basic version running. But there were quite a few issues:
- flint and arb were not getting linked
- arb was not searching
/usr/local/include/flintfor appropriate files of flint.
I put some minor hacks to make sure arb was linked and was able to find the files appropriately. Since Ondrej was out this week, he wasn’t able to suggest any better ways yet. Isuru Fernando helped me out with a much cleaner way to link the arb and flint library.
I also added the Zeta Module comprising of
zeta function needs
harmonic to be implemented, which isn’t implemented yet so for now, only minor simplifications are made.
The Week Ahead
Get the current PR merged, add a new PR for the Tensor Module.
Thats all for now :) Will get back next week!