56. plugins.polynomial — Polynomials

This module defines the class Polynomial, representing a polynomial in n variables.

class plugins.polynomial.Polynomial(exp, coeff=None)[source]

A polynomial in ndim dimensions.

Parameters:

  • exp: (nterms,ndim) int array with the exponents of each of the ndim variables in the nterms terms of the polynomial.
  • coeff: (nterms,) float array with the coefficients of the terms. If not specified, all coefficients are set to 1.

Example:

>>> p = Polynomial([(0,0),(1,0),(1,1),(0,2)],(2,3,-1,-1))
>>> print(p.atoms())
['1', 'x', 'x*y', 'y**2']
>>> print(p.human())
2.0 + 3.0*x -1.0*x*y -1.0*y**2
>>> print(p.evalAtoms([[1,2],[3,0],[2,1]]))
[[ 1.  1.  2.  4.]
 [ 1.  3.  0.  0.]
 [ 1.  2.  2.  1.]]
>>> print(p.eval([[1,2],[3,0],[2,1]]))
[ -1.  11.   5.]
degrees()[source]

Return the degree of the polynomial in each of the dimensions.

The degree is the maximal exponent for each of the dimensions.

degree()[source]

Return the total degree of the polynomial.

The degree is the sum of the degrees for all dimensions.

evalAtoms1(x)[source]

Evaluate the monomials at the given points

x is an (npoints,ndim) array of points where the polynomial is to be evaluated. The result is an (npoints,nterms) array of values.

evalAtoms(x)[source]

Evaluate the monomials at the given points

x is an (npoints,ndim) array of points where the polynomial is to be evaluated. The result is an (npoints,nterms) array of values.

eval(x)[source]

Evaluate the polynomial at the given points

x is an (npoints,ndim) array of points where the polynomial is to be evaluated. The result is an (npoints,) array of values.

atoms(symbol='xyz')[source]

Return a human representation of the monomials

human(symbol='xyz')[source]

Return a human representation

56.1. Functions defined in module plugins.polynomial

plugins.polynomial.polynomial(atoms, x, y=0, z=0)[source]

Build a matrix of functions of coords.

  • atoms: a list of text strings representing a mathematical function of x, and possibly of y and z.
  • x, y, z: a list of x- (and optionally y-, z-) values at which the atoms will be evaluated. The lists should have the same length.

Returns a matrix with nvalues rows and natoms colums.

plugins.polynomial.monomial(exp, symbol='xyz')[source]

Compute the monomials for the given exponents

  • exp: a tuple of integer exponents
  • symbol: a string of at least the same length as exp

Returns a string representation of a monomial created by raising the symbols to the corresponding exponent.

Example:

>>> monomial((2,1))
'x**2*y'