NZMATH
1.2.0
About: NZMATH is a Python based number theory oriented calculation system.
![]() ![]() |
Classes | |
class | ContentProvider |
class | DivisionProvider |
class | DomainPolynomial |
class | FieldPolynomial |
class | FiniteFieldPolynomial |
class | FinitePrimeFieldPolynomial |
class | IntegerPolynomial |
class | KaratsubaProvider |
class | OrderProvider |
class | PrimeCharacteristicFunctionsProvider |
class | PseudoDivisionProvider |
class | RingElementProvider |
class | RingPolynomial |
class | SubresultantGcdProvider |
class | UniqueFactorizationDomainPolynomial |
class | VariableProvider |
Functions | |
def | inject_variable (polynom, variable) |
def | polynomial (coefficients, coeffring) |
def | OneVariableDensePolynomial (coefficient, variable, coeffring=None) |
def | OneVariableSparsePolynomial (coefficient, variable, coeffring=None) |
def | init_coefficient_ring (coefficients) |
Variables | |
_log = logging.getLogger("nzmath.poly.uniutil") | |
string | _MIXIN_MSG = "%s is mix-in" |
dictionary | special_ring_table = {rational.IntegerRing: IntegerPolynomial} |
Utilities for univar. The module provides higher level interfaces to univar classes and functions.
def nzmath.poly.uniutil.init_coefficient_ring | ( | coefficients | ) |
Return a ring to which all coefficients belong. The argument coefficients is a dictionary whose values are the coefficients.
Definition at line 1648 of file uniutil.py.
Referenced by nzmath.poly.uniutil.OneVariableDensePolynomial(), and nzmath.poly.uniutil.OneVariableSparsePolynomial().
def nzmath.poly.uniutil.inject_variable | ( | polynom, | |
variable | |||
) |
Inject variable into polynom temporarily. The variable name will be lost after any arithmetic operations on polynom, though the class name of polynom will remain prefixed with 'Var'. If one need variable name permanently, he/she should define a class inheriting VariableProvider.
Definition at line 1571 of file uniutil.py.
def nzmath.poly.uniutil.OneVariableDensePolynomial | ( | coefficient, | |
variable, | |||
coeffring = None |
|||
) |
OneVariableDensePolynomial(coefficient, variable [,coeffring]) - coefficient has to be a sequence of coefficients in ascending order of degree. - variable has to be a character string. - coeffring has to be, if specified, an object inheriting ring.Ring. This function is provided for backward compatible way of defining univariate polynomial. The argument variable is ignored.
Definition at line 1615 of file uniutil.py.
References nzmath.poly.uniutil.init_coefficient_ring(), and nzmath.poly.uniutil.polynomial().
def nzmath.poly.uniutil.OneVariableSparsePolynomial | ( | coefficient, | |
variable, | |||
coeffring = None |
|||
) |
OneVariableSparsePolynomial(coefficient, variable [,coeffring]) - coefficient has to be a dictionary of degree-coefficient pairs. - variable has to be a character string. - coeffring has to be, if specified, an object inheriting ring.Ring. This function is provided for backward compatible way of defining univariate polynomial. The argument variable is ignored.
Definition at line 1632 of file uniutil.py.
References nzmath.poly.uniutil.init_coefficient_ring(), and nzmath.poly.uniutil.polynomial().
def nzmath.poly.uniutil.polynomial | ( | coefficients, | |
coeffring | |||
) |
Return a polynomial. - coefficients has to be a initializer for dict, whose keys are degrees and values are coefficients at degrees. - coeffring has to be an object inheriting ring.Ring. One can override the way to choose a polynomial type from a coefficient ring, by setting: special_ring_table[coeffring_type] = polynomial_type before the function call.
Definition at line 1590 of file uniutil.py.
Referenced by nzmath.poly.uniutil.OneVariableDensePolynomial(), nzmath.poly.uniutil.OneVariableSparsePolynomial(), nzmath.poly.uniutil.KaratsubaProvider.square_karatsuba(), and nzmath.poly.uniutil.DomainPolynomial.to_field_polynomial().
|
private |
Definition at line 22 of file uniutil.py.
|
private |
Definition at line 25 of file uniutil.py.
dictionary nzmath.poly.uniutil.special_ring_table = {rational.IntegerRing: IntegerPolynomial} |
Definition at line 1587 of file uniutil.py.