Подпакет для эффективной работы с полиномами.
В документации по этому подпакету «конечный степенной ряд», т. е. полином (также называемый просто «рядом»), представлен одномерным массивом numpy коэффициентов полинома, упорядоченными от члена наименьшей степени к члену наибольшей степени. Например, массив [1, 2, 3] представляет P_0 + 2*P_1 + 3*P_2, где P_n — полином n-го порядка, относящийся к конкретному модулю, например, polynomial (который «оборачивает» «стандартный» базис) или chebyshev. Для оптимальной производительности все операции над полиномами, включая вычисление значения в точке, реализованы как операции над коэффициентами. Дополнительная (специфичная для модуля) информация может быть найдена в строке документации для интересующего модуля.
Этот пакет предоставляет удобные классы для каждого из шести различных типов полиномов:
Имя | Предоставляет |
|---|---|
Ряд степенных функций | |
Ряд Чебышева | |
Ряд Лежандра | |
Ряд Лагуэрра | |
Ряд Эрмита | |
Ряд ЭрмитаЕ |
Эти удобные классы предоставляют согласованный интерфейс для создания, манипулирования и подгонки данных полиномами с различными базисами. Удобные классы являются предпочтительным интерфейсом для пакета polynomial и доступны из пространства имён numpy.polynomial. Это устраняет необходимость перемещения в соответствующие подмодули, например, np.polynomial.Polynomial или np.polynomial.Chebyshev вместо np.polynomial.polynomial.Polynomial или np.polynomial.chebyshev.Chebyshev, соответственно. Эти классы предоставляют более согласованный и лаконичный интерфейс, чем функции, специфичные для типа, определённые в подмодулях для каждого типа полинома. Например, для подгонки полинома Чебышева степени 1 к данным, заданным массивами xdata и ydata, используется метод класса fit:
>>> from numpy.polynomial import Chebyshev >>> c = Chebyshev.fit(xdata, ydata, deg=1)
предпочтителен по сравнению с функцией chebyshev.chebfit из модуля np.polynomial.chebyshev:
>>> from numpy.polynomial.chebyshev import chebfit >>> c = chebfit(xdata, ydata, deg=1)
См. Использование удобных классов для получения более подробной информации.
Удобные классы
В следующих списках показаны различные константы и методы, общие для всех классов, представляющих различные типы полиномов. В дальнейшем термин Poly обозначает любой из удобных классов (например, Polynomial, Chebyshev, Hermite и т. д.), а строчная буква p представляет собой экземпляр класса полинома.
Константы
-
Poly.domain— Домен по умолчанию -
Poly.window— Окно по умолчанию -
Poly.basis_name— Строка, используемая для представления базиса -
Poly.maxpower— Максимальное значениеn, при котором допускаетсяp**n -
Poly.nickname— Строка, используемая при печати
Создание
Методы для создания экземпляров полиномов.
-
Poly.basis(degree)— Полином базиса заданной степени -
Poly.identity()—p, гдеp(x) = xдля всехx -
Poly.fit(x, y, deg)—pстепениdegс коэффициентами, определёнными методом наименьших квадратов для данныхx,y -
Poly.fromroots(roots)—pсо специфицированными корнями -
p.copy()— Создать копиюp
Преобразование
Методы для преобразования экземпляра полинома одного типа в другой.
-
p.cast(Poly)— Преобразоватьpв экземпляр типаPoly -
p.convert(Poly)— Преобразоватьpв экземпляр типаPolyили сопоставление междуdomainиwindow
Вычисления
-
p.deriv()— Вычислить производнуюp -
p.integ()— Интегрироватьp
Проверка
-
Poly.has_samecoef(p1, p2)— Проверить соответствие коэффициентов -
Poly.has_samedomain(p1, p2)— Проверить соответствие доменов -
Poly.has_sametype(p1, p2)— Проверить соответствие типов -
Poly.has_samewindow(p1, p2)— Проверить соответствие окон
Разное
-
p.linspace()— Возвратитьx, p(x)в равномерно расположенных точках вdomain -
p.mapparms()— Возвращает параметры линейного преобразования междуdomainиwindow. -
p.roots()— Возвратить корниp. -
p.trim()— Удалить хвостовые коэффициенты. -
p.cutdeg(degree)— Обрезать p до заданной степени -
p.truncate(size)— Обрезать p до заданного размера
Настройка
Установить формат по умолчанию для строкового представления полиномов. |
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/routines.polynomials.package.html