NTL库基本数据类型
ZZ: big integers(支持不等式运算)
ZZ_p: big integers modulo p
zz_p: integers mod “single precision” p
GF2: integers mod 2
单变量多项式
ZZX: univariate polynomials over ZZ
ZZ_pX: univariate polynomials over ZZ_p
zz_pX: univariate polynomials over zz_p
GF2X: polynomials over GF2
ZZ_pE: ring/field extension over ZZ_p
zz_pE: ring/field extension over zz_p
GF2E: ring/field extension over GF2
ZZ_pEX: univariate polynomials over ZZ_pE
zz_pEX: univariate polynomials over zz_pE
GF2EX: univariate polynomials over GF2E
核心类分析
– 整数(ZZ):任意长度大整数表示、最大公因数、Jacobi符号和素性检验;
–模P大整数(ZZ_P):ZZ_P上数据表示、基本运算、关系运算与流控制等;
–模单精度整数(zz_P):模单精度P整数表示、内存分配、基本运算与重载等;
–模2整数(GF2):GF2上数据表示、基本运算、运算重载与关系运算等;
–ZZ上多项式(ZZX):单变元多项式最大公因式、特征多项式、范数与迹运算等;
–ZZ_p上扩张(ZZ_pE):ZZ_pE上数据表示、基本运算、关系运算、范数与迹运算;
–ZZ_p上多项式(ZZ_pX):多项式向量表示、基本运算、模运算与最大公因式等;
–ZZ_pE上多项式(ZZ_pEX):模单变元多项式、极小多项式、特征多项式和插值运算等;
–zz_p上多项式(zz_pX):多项式向量表示、极小多项式、特征多项式与插值运算等;
–zz_p上扩张(zz_pE):ZZ_pE上基本运算、幂运算、范数与迹运算等;
–GF2上多项式(GF2X):GF2上单变元多项式的最大公因式、极小多项式、因式分解;
–GF2上矩阵(mat_GF2):矩阵算术运算、矩阵逆、解非退化线性方程与高斯消元等;
–GF2上环/域扩张(GF2E):GF2上扩张单变元多项式、实现GF2[x]/§上的运算;
–GF2E上多项式(GF2EX):GF2上单变元多项式、模多项式运算、模合成、极小多项式特征多项式和插值运算等。
基本类运算
+, -, (unary) -, +=, -=, ++, --, *, *=, /, /=, %, %=.
其中%, %=只存在于整数和多项式类型的运算,
对于ZZ_p, zz_p, GF2, ZZ_pE, zz_pE, GF2E.不存在
The integer and polynomial classes also support “shift operators” for left and right shifting. For polynomial classes, this means multiplication or division by a power of X.
浮点类
xdouble: “double precision” floating point with extended exponent range (for very large numbers);
quad_float: “quasi” quadruple-precision floating point;
RR: aribitrary precision floating point.
Vectors and Matrices
here are also vectors and matrices over
ZZ ZZ_p zz_p GF2 ZZ_pE zz_pE GF2E RR
which support the usual arithmetic operations.