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.)Характеристический многочлен,
, матрицы A размера nнаnзадаётся следующим образом:
, где I —
nнаnединичная матрица. [R57]Ссылки
[R56] (1, 2) М. Сулливан и М. Сулливан-младший, «Алгебра и тригонометрия, дополненные средствами графика», Prentice-Hall, стр. 318, 1996. [R57] (1, 2) Г. Стронг, «Линейная алгебра и её приложения, 2-е издание», 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.11.0/reference/generated/numpy.poly.html