Spec-Zone.ru › NumPy 1.14

numpy.poly

numpy.poly(seq_of_zeros) [source]

Найти коэффициенты многочлена с заданной последовательностью корней.

Возвращает коэффициенты многочлена, у которого старший коэффициент равен единице, для заданной последовательности нулей (кратные корни должны быть включены в последовательность столько раз, сколько их кратность; см. Примеры). Также может быть задана квадратная матрица (или массив, который будет обрабатываться как матрица), в этом случае возвращаются коэффициенты характеристического многочлена матрицы.

Параметры:

seq_of_zeros : array_like, форма (N,) или (N, N)

Последовательность корней многочлена или квадратный массив или объект матрицы.

Возвращает:

c : ndarray

Одномерный массив коэффициентов многочлена от старшего до младшего степени:

c[0] * x**(N) + c[1] * x**(N-1) + ... + c[N-1] * x + c[N] где c[0] всегда равно 1.

Возбуждает:

ValueError

Если входная форма неверна (вход должен быть одномерным или квадратным двумерным массивом).

См. также

polyval
Вычислить значения многочлена.
roots
Возвратить корни многочлена.
polyfit
Наименьшие квадраты полиномиальной подгонки.
poly1d
Класс одномерного многочлена.

Замечания

Указывая корни многочлена, всё ещё остается одна степень свободы, обычно представляемая неопределённым старшим коэффициентом. [R64] В данном случае этот коэффициент - первый в возвращаемом массиве - всегда принимается за единицу. (Если по какой-либо причине у вас есть ещё одна точка, единственный автоматический способ в настоящее время использовать эту информацию - использовать polyfit.)

Характеристический многочлен, p_a(t), n-на-n матрицы A задаётся

p_a(t) = \mathrm{det}(t\, \mathbf{I} - \mathbf{A}),

где I - n-на-n единичная матрица. [R65]

Ссылки

[R64] (1, 2) M. Sullivan and M. Sullivan, III, “Algebra and Trignometry, Enhanced With Graphing Utilities,” Prentice-Hall, стр. 318, 1996.
[R65] (1, 2) G. Strang, “Linear Algebra and Its Applications, 2nd Edition,” 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])

Или квадратный объект матрицы:

>>> np.poly(np.matrix(P))
array([ 1.        ,  0.        ,  0.16666667])

Обратите внимание, что во всех случаях старший коэффициент всегда равен 1.

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.poly.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API