The MVPoly base class

The base class MVPoly is not to be instantiated directly, instead one creates an object from a subclass, such at the MVPolyCube class. However, the base class does have methods – operations on polynomials using the restricted set of basic operations described above. These methods are privileged, since they will work with all of the subclasses.

The base class also has class-methods (inherited by subclasses) which generate various interesting polynomials.

class mvpoly.base.MVPoly(dtype=<class 'numpy.float64'>)

Base (new-style) class for MVPoly.

asclass(C)

Return a polynomial of the specified class C, which must be one of the MVPoly subclasses.

intd(*intervals)

Evaluate the definite integral over the cube determined by the intervals.

norm(order)

Returns the norm of the coefficients. The order can be a float (for the p-norm) or any other value accepted by the numpy.linalg.norm() method.

norm_L(p, n=None)

Returns the Lp norm of the polynomial, the Lp integral over the n-polycircle. If the optional argument n is not supplied, it will be taken to be the number of variables in the polynomial or 1, whichever is the larger.

This method is only implemented up to n=3 due to the (obvious) exponential complexity of the quadrature.

property height

Returns the height of the polynomial: the largest of the absolute values of the coefficients.

property length

Returns the length of the polynomial: the sum of absolute values of the coefficients.

maxmodnd(epsilon=1e-12, i0=None)

The maximum modulus of a complex n-variate polynomial on the unit n-polydisc is estimated using a method of repeated subdivision of \([0,2\pi]^n\) and rejection of non-maximizing n-cubes.

The rejection criterion is based on a lemma of S.B. Stečkin, extended to n-variate polynomials by G. De La Chevrotière [1].

Parameters:
  • epsilon (float) – relative precision required

  • i0 (an n-vector of integers) – initial number of intervals in each dimension

Return type:

a tuple (M, t, h, evals)

Here M is the estimate of the maximum modulus; t is an n-row matrix whose columns are the midpoints of non-rejected n-cubes; h is the half-width of non-rejected n-cubes; evals is the total number of evaluations of the polynomial used.

classmethod bell_partial(n, k, **kwargs)

Return the output of mvpoly.dict.MVPolyDict.bell_partial() converted to other polynomial subclasess.

classmethod bell(n, **kwargs)

Return the output of mvpoly.dict.MVPolyDict.bell() converted to other polynomial subclasess.

classmethod bernstein(i, n, **kwargs)

Return the output of mvpoly.dict.MVPolyDict.bernstein() converted to other polynomial subclasess.

classmethod chsym(k, n, **kwargs)

Return the output of mvpoly.dict.MVPolyDict.chsym() converted to other polynomial subclasess.

classmethod lehmer(**kwargs)

Return the output of mvpoly.cube.MVPolyCube.lehmer() converted to other polynomial subclasess.

classmethod rudin_shapiro(n, **kwargs)

Return the output of mvpoly.cube.MVPolyCube.rudin_shapiro() converted to other polynomial subclasess.

classmethod wendland(d, k, **kwargs)

Return the output of mvpoly.cube.MVPolyCube.wendland() converted to other polynomial subclasess.

classmethod chebyc(*args)

Wrapper for scipi.special.chebyc()

classmethod chebys(*args)

Wrapper for scipi.special.chebys()

classmethod chebyt(*args)

Wrapper for scipi.special.chebyt()

classmethod chebyu(*args)

Wrapper for scipi.special.chebyu()

classmethod gegenbauer(*args)

Wrapper for scipi.special.gegenbauer()

classmethod genlaguerre(*args)

Wrapper for scipi.special.genlaguerre()

classmethod hermite(*args)

Wrapper for scipi.special.hermite()

classmethod hermitenorm(*args)

Wrapper for scipi.special.hermitenorm()

classmethod jacobi(*args)

Wrapper for scipi.special.jacobi()

classmethod laguerre(*args)

Wrapper for scipi.special.laguerre()

classmethod legendre(*args)

Wrapper for scipi.special.legendre()

classmethod sh_chebyt(*args)

Wrapper for scipi.special.sh_chebyt()

classmethod sh_chebyu(*args)

Wrapper for scipi.special.sh_chebyu()

classmethod sh_jacobi(*args)

Wrapper for scipi.special.sh_jacobi()

classmethod sh_legendre(*args)

Wrapper for scipi.special.sh_legendre()