Outline Introduction to FLINT Parallel Processing in Algebraic Number Theory Bill Hart February 1, 2007 Bill Hart Parallel Processing in Algebraic Number Theory
Outline Introduction to FLINT Introduction to FLINT Fast Library for Number Theory Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT FLINT: Fast Library for Number Theory ◮ Jointly Maintained by David Harvey (Harvard) and Bill Hart (Warwick) Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. ◮ Asymptotically Fast Algorithms. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. ◮ Asymptotically Fast Algorithms. ◮ Library written in C. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. ◮ Asymptotically Fast Algorithms. ◮ Library written in C. ◮ Based on GMP. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. ◮ Asymptotically Fast Algorithms. ◮ Library written in C. ◮ Based on GMP. ◮ Extensively Tested. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. ◮ Asymptotically Fast Algorithms. ◮ Library written in C. ◮ Based on GMP. ◮ Extensively Tested. ◮ Extensively Profiled. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. ◮ Asymptotically Fast Algorithms. ◮ Library written in C. ◮ Based on GMP. ◮ Extensively Tested. ◮ Extensively Profiled. ◮ Support for Parallel Processing. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What does FLINT currently do? ◮ All GMP integer functions (mpz add → Z add). Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What does FLINT currently do? ◮ All GMP integer functions (mpz add → Z add). ◮ Additional functions for Z and modulo arithmetic. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What does FLINT currently do? ◮ All GMP integer functions (mpz add → Z add). ◮ Additional functions for Z and modulo arithmetic. ◮ Integer Factorisation (Multiple Polynomial Quadratic Sieve). Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What does FLINT currently do? ◮ All GMP integer functions (mpz add → Z add). ◮ Additional functions for Z and modulo arithmetic. ◮ Integer Factorisation (Multiple Polynomial Quadratic Sieve). ◮ Some polynomial arithmetic, including asymptotically fast polynomial multiplication. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What does FLINT currently do? ◮ All GMP integer functions (mpz add → Z add). ◮ Additional functions for Z and modulo arithmetic. ◮ Integer Factorisation (Multiple Polynomial Quadratic Sieve). ◮ Some polynomial arithmetic, including asymptotically fast polynomial multiplication. ◮ Approximately 21,000 lines of C code so far (including profiling and test code). Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . ◮ Zmat - Linear algebra over Z . Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . ◮ Zmat - Linear algebra over Z . ◮ Z p - p-adics. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . ◮ Zmat - Linear algebra over Z . ◮ Z p - p-adics. ◮ GF2 - Sparse and dense matrices over GF2. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . ◮ Zmat - Linear algebra over Z . ◮ Z p - p-adics. ◮ GF2 - Sparse and dense matrices over GF2. ◮ QNF - Quadratic number fields. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . ◮ Zmat - Linear algebra over Z . ◮ Z p - p-adics. ◮ GF2 - Sparse and dense matrices over GF2. ◮ QNF - Quadratic number fields. ◮ NF - General number fields. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . ◮ Zmat - Linear algebra over Z . ◮ Z p - p-adics. ◮ GF2 - Sparse and dense matrices over GF2. ◮ QNF - Quadratic number fields. ◮ NF - General number fields. ◮ ?? - Whatever people contribute. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT Additional Functions Available in FLINT ◮ Exponentiation. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT Additional Functions Available in FLINT ◮ Exponentiation. ◮ Modular multiplication, modular inversion, modular square root (mod p or mod p k ), CRT, modular exponentiation. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT Additional Functions Available in FLINT ◮ Exponentiation. ◮ Modular multiplication, modular inversion, modular square root (mod p or mod p k ), CRT, modular exponentiation. ◮ Next prime, random prime, extended GCD, GCD. Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT Additional Functions Available in FLINT ◮ Exponentiation. ◮ Modular multiplication, modular inversion, modular square root (mod p or mod p k ), CRT, modular exponentiation. ◮ Next prime, random prime, extended GCD, GCD. ◮ Integer multiplication (faster than GMP 4.2.1 with Pierrick Gaudry’s AMD64 patches for more than 164000 bit operands). Bill Hart Parallel Processing in Algebraic Number Theory
Outline Fast Library for Number Theory Introduction to FLINT Additional Functions Available in FLINT ◮ Exponentiation. ◮ Modular multiplication, modular inversion, modular square root (mod p or mod p k ), CRT, modular exponentiation. ◮ Next prime, random prime, extended GCD, GCD. ◮ Integer multiplication (faster than GMP 4.2.1 with Pierrick Gaudry’s AMD64 patches for more than 164000 bit operands). ◮ Block Lanczos code (Jason Papadopoulous). Bill Hart Parallel Processing in Algebraic Number Theory
Recommend
More recommend