{ } Raw JSON

bundles / scipy latest / scipy / interpolate / _interpolate / PPoly / solve

function

scipy.interpolate._interpolate:PPoly.solve

source: /scipy/interpolate/_interpolate.py :1094

Signature

def   solve ( self y = 0.0 discontinuity = True extrapolate = None )

Summary

Find real solutions of the equation pp(x) == y.

Parameters

y : float, optional

Right-hand side. Default is zero.

discontinuity : bool, optional

Whether to report sign changes across discontinuities at breakpoints as roots.

extrapolate : {bool, 'periodic', None}, optional

If bool, determines whether to return roots from the polynomial extrapolated based on first and last intervals, 'periodic' works the same as False. If None (default), use self.extrapolate.

Returns

roots : ndarray

Roots of the polynomial(s).

If the PPoly object describes multiple polynomials, the return value is an object array whose each element is an ndarray containing the roots.

Notes

This routine works only on real-valued polynomials.

If the piecewise polynomial contains sections that are identically zero, the root list will contain the start point of the corresponding interval, followed by a nan value.

If the polynomial is discontinuous across a breakpoint, and there is a sign change across the breakpoint, this is reported if the discont parameter is True.

Examples

Finding roots of ``[x**2 - 1, (x - 1)**2]`` defined on intervals ``[-2, 1], [1, 2]``:
import numpy as np
from scipy.interpolate import PPoly
pp = PPoly(np.array([[1, -4, 3], [1, 0, 0]]).T, [-2, 1, 2])
pp.solve()

Aliases

  • scipy.interpolate.PPoly.solve