Nemo/Hecke: Computer Algebra and Number Theory Packages for the Julia Programming Language
Conference object, Preprint
- Publisher: HAL CCSD
[ MATH.MATH-NT ] Mathematics [math]/Number Theory [math.NT] | Computer Science - Mathematical Software | [ INFO.INFO-MS ] Computer Science [cs]/Mathematical Software [cs.MS] | Computer Science - Symbolic Computation | [ INFO.INFO-SC ] Computer Science [cs]/Symbolic Computation [cs.SC]
International audience; We introduce two new packages, Nemo and Hecke, written in the Julia programming language for computer algebra and number theory. We demonstrate that high performance generic algorithms can be implemented in Julia, without the need to resort to a low-level C implementation. For specialised algorithms, we use Julia's efficient native C interface to wrap existing C/C++ libraries such as Flint, Arb, Antic and Singular. We give examples of how to use Hecke and Nemo and discuss some algorithms that we have implemented to provide high performance basic arithmetic.