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

Classes

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

Functions

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

Variables

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,
  variable,
  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 multiutil.py.

References nzmath.poly.multiutil.polynomial().

◆ polynomial()

def nzmath.poly.multiutil.polynomial (   coefficients,
  coeffring,
  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 multiutil.py.

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,
  ctx,
  coeffring = None 
)
From space separated names of indeterminates, prepare variables
representing the indeterminates.  The result will be stored in ctx
dictionary.

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.

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

Definition at line 693 of file multiutil.py.

References nzmath.poly.multiutil.polynomial().

Variable Documentation

◆ _MIXIN_MSG

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

Definition at line 15 of file multiutil.py.

◆ special_ring_table

dictionary nzmath.poly.multiutil.special_ring_table = {}

Definition at line 645 of file multiutil.py.