flopscope.

flopscope.numpy.polydiv

Returns the quotient and remainder of polynomial division.

Adapted from NumPy docs np.polydiv

Areacore
Typecustom
NumPy Refnp.polydiv
Cost
n1n2n_1 \cdot n_2
Flopscope Context

Divide one polynomial by another. Cost: n1 * n2 FLOPs.

Note.

This forms part of the old polynomial API. Since version 1.4, the new polynomial API defined in flops.polynomial is preferred. A summary of the differences can be found in the transition guide.

The input arrays are the coefficients (including any coefficients equal to zero) of the "numerator" (dividend) and "denominator" (divisor) polynomials, respectively.

Parameters

u:array_like or poly1d

Dividend polynomial's coefficients.

v:array_like or poly1d

Divisor polynomial's coefficients.

Returns

q:ndarray

Coefficients, including those equal to zero, of the quotient.

r:ndarray

Coefficients, including those equal to zero, of the remainder.

See also

Notes

Both u and v must be 0-d or 1-d (ndim = 0 or 1), but u.ndim need not equal v.ndim. In other words, all four possible combinations - u.ndim = v.ndim = 0, u.ndim = v.ndim = 1, u.ndim = 1, v.ndim = 0, and u.ndim = 0, v.ndim = 1 - work.

Examples

3x2+5x+22x+1=1.5x+1.75,remainder0.25\frac{3x^2 + 5x + 2}{2x + 1} = 1.5x + 1.75, remainder 0.25
>>> import flopscope.numpy as fnp
>>> x = flops.array([3.0, 5.0, 2.0])
>>> y = flops.array([2.0, 1.0])
>>> flops.polydiv(x, y)
(array([1.5 , 1.75]), array([0.25]))