numpy.polynomial.polynomial.polyvalfromroots
-
numpy.polynomial.polynomial.polyvalfromroots(x, r, tensor=True)
[source] -
Evaluate a polynomial specified by its roots at points x.
If
r
is of lengthN
, this function returns the valueThe parameter
x
is converted to an array only if it is a tuple or a list, otherwise it is treated as a scalar. In either case, eitherx
or its elements must support multiplication and addition both with themselves and with the elements ofr
.If
r
is a 1-D array, thenp(x)
will have the same shape asx
. Ifr
is multidimensional, then the shape of the result depends on the value oftensor
. Iftensor is ``True`
the shape will be r.shape[1:] + x.shape; that is, each polynomial is evaluated at every value ofx
. Iftensor
isFalse
, the shape will be r.shape[1:]; that is, each polynomial is evaluated only for the corresponding broadcast value ofx
. Note that scalars have shape (,).New in version 1.12.
Parameters: x : array_like, compatible object
If
x
is a list or tuple, it is converted to an ndarray, otherwise it is left unchanged and treated as a scalar. In either case,x
or its elements must support addition and multiplication with with themselves and with the elements ofr
.r : array_like
Array of roots. If
r
is multidimensional the first index is the root index, while the remaining indices enumerate multiple polynomials. For instance, in the two dimensional case the roots of each polynomial may be thought of as stored in the columns ofr
.tensor : boolean, optional
If True, the shape of the roots array is extended with ones on the right, one for each dimension of
x
. Scalars have dimension 0 for this action. The result is that every column of coefficients inr
is evaluated for every element ofx
. If False,x
is broadcast over the columns ofr
for the evaluation. This keyword is useful whenr
is multidimensional. The default value is True.Returns: values : ndarray, compatible object
The shape of the returned array is described above.
See also
Examples
>>> from numpy.polynomial.polynomial import polyvalfromroots >>> polyvalfromroots(1, [1,2,3]) 0.0 >>> a = np.arange(4).reshape(2,2) >>> a array([[0, 1], [2, 3]]) >>> polyvalfromroots(a, [-1, 0, 1]) array([[ -0., 0.], [ 6., 24.]]) >>> r = np.arange(-2, 2).reshape(2,2) # multidimensional coefficients >>> r # each column of r defines one polynomial array([[-2, -1], [ 0, 1]]) >>> b = [-2, 1] >>> polyvalfromroots(b, r, tensor=True) array([[-0., 3.], [ 3., 0.]]) >>> polyvalfromroots(b, r, tensor=False) array([-0., 0.])
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.polynomial.polynomial.polyvalfromroots.html