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