Introduction
MPFRCX is a library for the arithmetic of univariate polynomials over arbitrary precision real (MPFR) or complex (MPC) numbers, without control on the rounding. The functions implemented are not very numerous and somewhat idiosyncratic: the main motivation behind the library is to have functionality available for the floating point approach to complex multiplication. However, asymptotically fast routines such as Toom–Cook and the FFT for multiplication of polynomials are available, as well as fast routines for interpolation and evaluation based on trees of polynomials.
The library is maintained by Andreas Enge and is distributed under the GNU Lesser General Public License, either version 3 of the licence, or (at your option) any later version (LGPLv2.1+).
News
Version 0.5, "Duroia", released in May 2018, comes with the following new features:
- Licence change: LGPLv3+ for code, consistent with GNU MPC and the other libraries of the GNU multiprecision universe
-
New simple functions
-
mpcx_set_frx
-
mpfrcx_real
andmpfrcx_imag
-
mpcx_derive
andmpfrx_derive
-
-
New convenience functions for handling trees of polynomials, where the
leaves are linear polynomials derived from a root, or quadratic real
polynomials derived from a pair of complex-conjugate roots
-
mpcx_reconstruct_from_roots
,mpfrx_reconstruct_from_roots
andmpfrcx_reconstruct_from_roots
-
mpcx_subproducttree_from_roots
,mpfrx_subproducttree_from_roots
andmpfrcx_subproducttree_from_roots
-
mpcx_hecke_from_roots
,mpfrx_hecke_from_roots
andmpfrcx_hecke_from_roots
-
mpcx_product_and_hecke_from_roots
,mpfrx_product_and_hecke_from_roots
andmpfrcx_product_and_hecke_from_roots
-
-
New functions for decomposing certain number fields into towers
-
mpcx_tower_init
,mpcx_tower_clear
,mpcx_tower_decomposition
for decomposing Galois fields into towers of relative extensions; this can be used for class fields of imaginary-quadratic fields -
mpfrx_tower_init
,mpfrx_tower_clear
,mpfrcx_tower_decomposition
for decomposing the real subfields of class fields of imaginary-quadratic fields into towers of relative extensions
-
Olds
Version 0.4.2, "Cassava", released in May 2013, comes with the following new features:
-
New function
product_and_hecke
- Improved memory consumption for unbalanced FFT multiplications
Version 0.4.1, "Cassava", released in July 2012, comes with the following new features:
- Switch to GNU MPC version at least 1.0
-
Reduced memory consumption in
hecke
Version 0.4, "Cassava", released in February 2012, comes with the following new features:
-
New functions
-
tree_init
,tree_clear
,tree_get_root
-
subproducttree
-
hecke
-
swap
-
-
Bug
- corrected computation of required buffer for Toom-Cook
-
Changed function
-
reconstruct
: removed verbosity parameter introduced in version 0.3
-
Version 0.3.1, "Banane", released in September 2010, comes with the following new features:
- adaptations to build on MacOs X
Version 0.3, "Banane", released in June 2010, comes with the following new features:
-
Function
init2
renamed toinit
-
Changed function
-
reconstruct
takes an additional verbosity parameter
-
-
New functions
-
set_deg
,set_prec
,set_coeff
-
get_coeff
-
get_version
-
Version 0.2, "Ananas", released in May 2009, comes with the following new features:
- Support for autotools (thanks to Philippe Théveny)
-
Single header file
mpfrcx.h
instead of two separate ones,mpcx.h
andmpfrx.h
-
Function
init2
renamed toinit
-
New functions and macros
-
get_deg
(macro) -
get_prec
(macro) -
out_str
: replacesprint
-
cmp
-
urandom
-
realloc
-