NZMATH  1.2.0
About: NZMATH is a Python based number theory oriented calculation system.
  Fossies Dox: NZMATH-1.2.0.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

nzmath.poly.multiutil Namespace Reference


class  DomainPolynomial
class  GcdProvider
class  NestProvider
class  OrderProvider
class  PolynomialIdeal
class  PolynomialRingAnonymousVariables
class  PseudoDivisionProvider
class  RingElementProvider
class  RingPolynomial
class  UniqueFactorizationDomainPolynomial


def polynomial (coefficients, coeffring, number_of_variables=None)
def MultiVariableSparsePolynomial (coefficient, variable, coeffring=None)
def prepare_indeterminates (names, ctx, coeffring=None)


string _MIXIN_MSG = "%s is mix-in"
dictionary special_ring_table = {}

Detailed Description

Multivariate polynomial extenders.

Function Documentation

◆ MultiVariableSparsePolynomial()

def nzmath.poly.multiutil.MultiVariableSparsePolynomial (   coefficient,
  coeffring = None 
MultiVariableSparsePolynomial(coefficient, variable [,coeffring])

- coefficient has to be a dictionary of form {(i1,...,ik): c}
- variable has to be a list of character strings.
- coeffring has to be, if specified, an object inheriting ring.Ring.

This function is provided for backward compatible way of defining
multivariate polynomial.  The variable names are ignored, but
their number is used.

Definition at line 675 of file

References nzmath.poly.multiutil.polynomial().

◆ polynomial()

def nzmath.poly.multiutil.polynomial (   coefficients,
  number_of_variables = None 
Return a polynomial.
- coefficients has to be a initializer for dict, whose keys are
  variable indices and values are coefficients at the indices.
- coeffring has to be an object inheriting ring.Ring.
- number_of_variables has to be the number of variables.

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 647 of file

Referenced by nzmath.poly.multiutil.PolynomialRingAnonymousVariables.createElement(), nzmath.poly.multiutil.MultiVariableSparsePolynomial(), nzmath.poly.multiutil.prepare_indeterminates(), nzmath.poly.univar.SortedPolynomial.ring_mul_karatsuba(), nzmath.poly.multivar.BasicPolynomial.square(), and nzmath.poly.univar.SortedPolynomial.square().

◆ prepare_indeterminates()

def nzmath.poly.multiutil.prepare_indeterminates (   names,
  coeffring = None 
From space separated names of indeterminates, prepare variables
representing the indeterminates.  The result will be stored in ctx

The variables should be prepared at once, otherwise wrong aliases
of variables may confuse you in later calculation.

If an optional coeffring is not given, indeterminates will be
initialized as integer coefficient polynomials.

>>> prepare_indeterminates("X Y Z", globals())
>>> Y
UniqueFactorizationDomainPolynomial({(0, 1, 0): 1})

Definition at line 693 of file

References nzmath.poly.multiutil.polynomial().

Variable Documentation


string nzmath.poly.multiutil._MIXIN_MSG = "%s is mix-in"

Definition at line 15 of file

◆ special_ring_table

dictionary nzmath.poly.multiutil.special_ring_table = {}

Definition at line 645 of file