numpy.poly
-
numpy.poly(seq_of_zeros)[source] -
Найти коэффициенты многочлена с заданной последовательностью корней.
Примечание
Это часть старого API многочленов. С версии 1.4 предпочтительным является новый API многочленов, определенный в
numpy.polynomial. Сводка различий приведена в руководстве по переходу.Возвращает коэффициенты многочлена, старший коэффициент которого равен единице, для заданной последовательности нулей (кратные корни должны быть включены в последовательность столько раз, сколько их кратность; см. примеры). Также может быть задана квадратная матрица (или массив, который будет обрабатываться как матрица), в этом случае возвращаются коэффициенты характеристического многочлена матрицы.
- Параметры
-
-
seq_of_zerosarray_like, shape (N,) or (N, N) -
Последовательность корней многочлена или квадратный массив или матричное объект.
-
- Возвращает
-
-
cndarray -
Одномерный массив коэффициентов многочлена от старшего к младшему степеням:
c[0] * x**(N) + c[1] * x**(N-1) + ... + c[N-1] * x + c[N]где c[0] всегда равно 1.
-
- Возбуждает
-
- ValueError
-
Если форма входных данных неправильная (входные данные должны быть одномерным или квадратным двумерным массивом).
См. также
Примечания
Указывая корни многочлена, остается одна степень свободы, обычно представленная неопределенным старшим коэффициентом. [1] В случае этой функции этот коэффициент — первый в возвращаемом массиве — всегда принимается равным единице. (Если по какой-то причине у вас есть еще одна точка, единственный автоматический способ в настоящее время использовать эту информацию — использовать
polyfit.)Характеристический многочлен,
,
n-на-nматрицы 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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.poly.html