Spec-Zone.ru › NumPy 1.10

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
Класс одномерного многочлена.

Примечания

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

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

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

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

Ссылки

[R56] (1, 2) M. Sullivan and M. Sullivan, III, “Algebra and Trignometry, Enhanced With Graphing Utilities,” Prentice-Hall, стр. 318, 1996.
[R57] (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.

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.poly.html

Spec-Zone.ru

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