numpy.poly
- numpy.poly(seq_of_zeros)[source]
-
Найти коэффициенты многочлена с заданной последовательностью корней.
Примечание
Это часть старого API многочленов. С версии 1.4 предпочтительнее использовать новый API многочленов, определенный в
numpy.polynomial. Сводка различий находится в руководстве по переходу.Возвращает коэффициенты многочлена, ведущий коэффициент которого равен единице, для заданной последовательности нулей (кратные корни должны быть включены в последовательность столько раз, сколько их кратность; см. Примеры). Также можно задать квадратную матрицу (или массив, который будет обработан как матрица), в этом случае возвращаются коэффициенты характеристического многочлена матрицы.
- Параметры
-
- seq_of_zerosarray_like, форма (N,) или (N, N)
-
Последовательность корней многочлена или квадратный массив или матрица.
- Возвращает
-
- cndarray
-
Одномерный массив коэффициентов многочлена от старшего к младшему степени:
c[0] * x**(N) + c[1] * x**(N-1) + ... + c[N-1] * x + c[N]где c[0] всегда равно 1.
- Возбуждает
-
- ValueError
-
Если форма входных данных неправильная (входные данные должны быть одномерным или квадратным двумерным массивом).
См. также
Примечания
Указание корней многочлена все еще оставляет одну степень свободы, обычно представленную неопределенным ведущим коэффициентом. [1] В этом случае функция всегда принимает этот коэффициент — первый в возвращаемом массиве — равным единице. (Если по какой-либо причине у вас есть еще одна точка, единственный автоматический способ на данный момент использовать эту информацию — это использовать
polyfit.)Характеристический многочлен \(p_a(t)\) квадратной матрицы A размера
n×nзадается\(p_a(t) = \mathrm{det}(t\, \mathbf{I} - \mathbf{A})\),
где I —
n×nединичная матрица. [2]Ссылки
- 1
-
M. Sullivan and M. Sullivan, III, “Algebra and Trignometry, Enhanced With Graphing Utilities,” Prentice-Hall, pg. 318, 1996.
- 2
-
G. Strang, “Linear Algebra and Its Applications, 2nd Edition,” Academic Press, pg. 182, 1980.
Примеры
Пусть дана последовательность нулей многочлена:
>>> np.poly((0, 0, 0)) # Multiple root example array([1., 0., 0., 0.])
Вышеприведенная строка представляет z**3 + 0*z**2 + 0*z + 0.
>>> np.poly((-1./2, 0, 1./2)) array([ 1. , 0. , -0.25, 0. ])
Вышеприведенная строка представляет z**3 - z/4
>>> np.poly((np.random.random(1)[0], 0, np.random.random(1)[0])) array([ 1. , -0.77086955, 0.08618131, 0. ]) # random
Пусть дана квадратная матрица:
>>> P = np.array([[0, 1./3], [-1./2, 0]]) >>> np.poly(P) array([1. , 0. , 0.16666667])
Обратите внимание, что во всех случаях ведущий коэффициент всегда равен 1.
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.poly.html