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
Если входная форма некорректна (вход должен быть одномерным или квадратным двумерным массивом).
См. также
Примечания
Указывая корни многочлена, все еще остается одна степень свободы, обычно представленная неопределенным старшим коэффициентом. [R56] В данном случае этот коэффициент — первый в возвращаемом массиве — всегда принимается равным единице. (Если по какой-то причине у вас есть еще одна точка, единственный автоматический способ в настоящее время использовать эту информацию — использовать
polyfit.)Характеристический многочлен,
, n-на-nматрицы 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