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–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/generated/numpy.poly.html