numpy.polynomial.polynomial.polyvalfromroots#
- polynomial.polynomial.polyvalfromroots(x, r, тензор=True)[источник]#
Вычислить полином, заданный его корнями, в точках x.
Если r имеет длину
N, эта функция возвращает значение\[p(x) = \prod_{n=1}^{N} (x - r_n)\]Параметр x преобразуется в массив только если это кортеж или список, иначе обрабатывается как скаляр. В любом случае, либо x или его элементы должны поддерживать умножение и сложение как с самими собой, так и с элементами r.
Если r является одномерным массивом, тогда
p(x)будет иметь ту же форму, что и x. Если r является многомерным, то форма результата зависит от значения тензор. Если тензор являетсяTrueформа будет r.shape[1:] + x.shape; то есть каждый полином оценивается при каждом значении x. Если тензор являетсяFalse, форма будет r.shape[1:]; то есть каждый полином вычисляется только для соответствующего транслированного значения x. Обратите внимание, что скаляры имеют форму (,).- Параметры:
- xarray_like, совместимый объект
Если x является списком или кортежем, он преобразуется в ndarray, в противном случае остается неизменным и обрабатывается как скаляр. В любом случае, x или его элементы должны поддерживать сложение и умножение с собой и с элементами r.
- rarray_like
Массив корней. Если r если многомерный, первый индекс — это корневой индекс, а остальные индексы перечисляют несколько полиномов. Например, в двумерном случае корни каждого полинома можно считать хранящимися в столбцах r.
- тензорлогический, необязательный
Если True, форма массива корней расширяется единицами справа, по одной для каждого измерения x. Скаляры имеют размерность 0 для этого действия. Результат заключается в том, что каждый столбец коэффициентов в r вычисляется для каждого элемента x. Если False, x транслируется по столбцам r для оценки. Этот ключевой аргумент полезен, когда r является многомерным. Значение по умолчанию — True.
- Возвращает:
- valuesndarray, совместимый объект
Форма возвращаемого массива описана выше.
Смотрите также
Примеры
>>> 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.])