## `polylib::Dpoly` -- differential operator for polynomials

#### Introduction

If `f` is a polynomial in the indeterminates `x1` through xn, `polylib::Dpoly``([i1,..,ik], f)` computes the k-th partial derivative (&partial;k f)/(&partial;xi1 ...&partial;xik ) .

`polylib::Dpoly``(f)` returns the derivative of `f` with respect to its only variable for an univariate polynomial `f`.

#### Call(s)

`polylib::Dpoly(f)`
`polylib::Dpoly(indexlist, f)`

#### Parameters

`f` | - | polynomial
`indexlist` | - | list of positive integers

#### Returns

`polylib::Dpoly` returns a polynomial in the same indeterminates and over the same coefficient ring as the input.

### Overloadable:

`f`

#### Related Functions

`D`, `diff`

#### Details

- If some element of `indexlist` is greater than the number of indeterminates of `f`, the zero polynomial is returned.
- `polylib::Dpoly(`[ ], p`)` returns `p`.
- If the coefficients of the polynomial are elements of a domain `d`, then this domain must have the method `"intmult": d::intmult(e,i)`, that must calculate the integer multiple of a domain element `e` and a positive integer `i`.
- `polylib::Dpoly` is a function of the system kernel.

#### Example 1

We differentiate a univariate polynomial with respect to its only indeterminate. In this case, we may leave out the first argument.

    >> polylib::Dpoly(poly(2*x^2 + x + 1));

                                poly(4 x + 1, [x])

#### Example 2

No we differentiate a bivariate polynomial, and must specify the indeterminate in this case.

    >> polylib::Dpoly([1], poly(x^2*y + 3*x + y, [x, y]));

                              poly(2 x y + 3, [x, y])

#### Example 3

It is also possible to compute second or higher partial derivatives.

    >> polylib::Dpoly([1, 2], poly(x^2*y + 3*x + y, [x, y]));

                                 poly(2 x, [x, y])

#### Changes

- used to be called `Dpoly`

Do you have questions or comments?
Copyright © SciFace Software GmbH & Co. KG 2000