Hi,
My name is Titus Nicolae. I'm a third year student at Politehnica University of Timisoara. I've been accepted to the Google Summer of Code 2012 to work on the Pynac symbolic expression library. On this blog I'll keep updates about the project development. I'll be continuing work done by William Stein and Burcin Erocal, who is my mentor during this project. The scope is to improve the speed of symbolic computations and fix some outstanding issues.
My name is Titus Nicolae. I'm a third year student at Politehnica University of Timisoara. I've been accepted to the Google Summer of Code 2012 to work on the Pynac symbolic expression library. On this blog I'll keep updates about the project development. I'll be continuing work done by William Stein and Burcin Erocal, who is my mentor during this project. The scope is to improve the speed of symbolic computations and fix some outstanding issues.
The numeric class in Pynac is a remnant from Ginac, it holds numeric coefficients. Number_T class in Pynac was created to work with python objects from Sage, it will be merged with numeric.
Number_T will encapsulate the mpfr_t (multiple precision floating point) type from the MPFR library, fmpz_t (“flat” multiple precision integer) from FLINT 1.5.2 library present in sage 5.0-beta14. Number_t will also encapsulate mpc type from MPC library, fmpq_t (rationals)from FLINT. All these libraries use GMP / MPIR, which have specific types mpz_t, mpq_t, mpf_t. Another type that Number_T will encapsulate and is not available in any library is mpqc. It will represent complex numbers that have rational numbers for the real and imaginary components.
fmpz_t is used instead of GMP’s mpz_t, because it offers better performance when working with a single limb (32bit or 64bit word). For the same reason we’ll use fmpq_t instead of mpq_t because it uses fmpz to represent the numerator and denominator. mpfr_t is used instead of mpf_t because it offers support for transcendental functions.