numpy.poly
-
numpy.poly(seq_of_zeros)[source] -
Найти коэффициенты многочлена с заданной последовательностью корней.
Возвращает коэффициенты многочлена, ведущий коэффициент которого равен единице, для заданной последовательности нулей (кратные корни должны быть включены в последовательность столько раз, сколько их кратность; см. Примеры). Также может быть задана квадратная матрица (или массив, который будет обработан как матрица), в этом случае возвращаются коэффициенты характеристического многочлена матрицы.
- Параметры
-
-
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 -
М. Салливан и М. Салливан III, «Алгебра и тригонометрия, дополненные графическими средствами», издательство Prentice-Hall, стр. 318, 1996 г.
-
2 -
Г. Странг, «Линейная алгебра и ее приложения, 2-е издание», издательство Academic Press, стр. 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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.poly.html