scipy.interpolate.PPoly.solve#
- PPoly.solve(y=0.0, discontinuity=True, extrapolate=None)[source]#
- Find real solutions of the equation - pp(x) == y.- Parameters
- yfloat, optional
- Right-hand side. Default is zero. 
- discontinuitybool, 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
- rootsndarray
- 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 - nanvalue.- 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]:- >>> from scipy.interpolate import PPoly >>> pp = PPoly(np.array([[1, -4, 3], [1, 0, 0]]).T, [-2, 1, 2]) >>> pp.solve() array([-1., 1.])