
Description


•

Important: The command SDMPolynom has been deprecated. A sparse distributed data structure is used by default for polynomials and is often more efficient than SDMPolynom. For information on creating and working with polynomials, see polynom.

•

SDMPolynom (Sparse Distributed Multivariate Polynomial) data structure is a dedicated data structure to represent polynomials. For example, the command a := SDMPolynom(x^3+5*x^2+11*x+15,x); creates the polynomial

$a\u2254\mathrm{SDMPolynom}\left({x}^{3}+5{x}^{2}+11x+15\,\left[x\right]\right)$

This is a univariate polynomial in the variable x with integer coefficients.

•

Multivariate polynomials, and polynomials over other number rings and fields are constructed similarly. For example, a := SDMPolynom(x*y^3+sqrt(1)*y+y/2,[x,y]); creates

$a\u2254\mathrm{SDMPolynom}\left(x{y}^{3}+\left(\frac{1}{2}+\mathrm{I}\right)y\,\left[x\,y\right]\right)$

This is a bivariate polynomial in the variables x and y whose coefficients involve the imaginary number $\sqrt{\mathrm{1}}$, which is denoted by capital I in Maple.

•

The type function can be used to test for polynomials. For example the command type(a, SDMPolynom) tests whether the expression a is a polynomial in the variable x. For details, see type/SDMPolynom.

•

Polynomials in Maple are sorted in lexicographic order, that is, in descending power of the first indeterminate.

•

The remainder of this file contains a list of operations that are available for polynomials.


Utility Functions for Manipulating Polynomials

coeff

extract a coefficient of a polynomial

coeffs

construct a sequence of all the coefficients

degree

the degree of a polynomial

lcoeff

the leading coefficient

ldegree

the low degree of a polynomial

tcoeff

the trailing coefficient

indets

the indeterminate of a polynomial




Arithmetic Operations on Polynomials


All the arithmetic operations on polynomials are wrapped inside the constructor SDMPolynom.

+,

addition and subtraction

*,^

multiplication and exponentiation

Prem

pseudoremainder of two polynomials




Mathematical Operations on Polynomials

diff

differentiate a polynomial

subs

evaluate a polynomial

eval

evaluate a polynomial




Miscellaneous Polynomial Operations

norm

norm of a polynomial

maxnorm

maximum norm of a polynomial

map

mapping an operation on the coefficients of a polynomial

convert

converting Polynomials to a Sum of Products





Thread Safety


•

The SDMPolynom command is threadsafe as of Maple 15.



Examples


Important: The command SDMPolynom has been deprecated. A sparse distributed data structure is used by default for polynomials and is often more efficient than SDMPolynom. For information on creating and working with polynomials, see polynom.
>

$a\u2254\mathrm{SDMPolynom}\left({x}^{3}+5{x}^{2}+11xy6y+15\,\left[x\,y\right]\right)\:$

>

$\mathrm{degree}\left(a\,x\right)$

>

$\mathrm{degree}\left(a\,y\right)$

>

$\mathrm{coeff}\left(a\,x\,2\right)$

${\mathrm{SDMPolynom}}{}\left({5}{\,}\left[{y}\right]\right)$
 (3) 
>

$\mathrm{coeff}\left(a\,y\,1\right)$

${\mathrm{SDMPolynom}}{}\left({11}{}{x}{}{6}{\,}\left[{x}\right]\right)$
 (4) 
>

$\mathrm{coeffs}\left(a\,x\right)$

${}{6}{}{y}{+}{15}{,}{11}{}{y}{,}{5}{,}{1}$
 (5) 
>

$\mathrm{subs}\left(\left[x=3\,y=2\right]\,a\right)$

>

$\mathrm{type}\left(a\,\mathrm{SDMPolynom}\right)$

>

$\mathrm{nops}\left(a\right)$

>

$\mathrm{op}\left(3\,a\right)$

>

$\mathrm{op}\left(a\right)$

${1}{,}{3}{,}{0}{,}{5}{,}{2}{,}{0}{,}{11}{,}{1}{,}{1}{,}{\mathrm{6}}{,}{0}{,}{1}{,}{15}{,}{0}{,}{0}$
 (10) 
>

$\mathrm{diff}\left(a\,x\right)$

${\mathrm{SDMPolynom}}{}\left({3}{}{{x}}^{{2}}{+}{10}{}{x}{+}{11}{}{y}{\,}\left[{x}{\,}{y}\right]\right)$
 (11) 
>

$\mathrm{convert}\left(a\,'\mathrm{polynom}'\right)$

${{x}}^{{3}}{+}{5}{}{{x}}^{{2}}{+}{11}{}{x}{}{y}{}{6}{}{y}{+}{15}$
 (12) 


