numpy.polynomial#
Подпакет для эффективной работы с полиномами.
В документации этого подпакета "конечный степенной ряд", т.е. полином (также называемый просто "рядом"), представлен 1-мерным массивом numpy коэффициентов полинома, упорядоченных от младшего члена к старшему. Например, array([1,2,3]) представляет
P_0 + 2*P_1 + 3*P_2, где P_n – это базовый полином n-го порядка,
применимый к конкретному модулю, например, polynomial (который
«оборачивает» «стандартный» базис) или chebyshevДля оптимальной производительности все операции с полиномами, включая вычисление значения в аргументе, реализованы как операции с коэффициентами. Дополнительную (специфичную для модуля) информацию можно найти в строке документации интересующего модуля.
Этот пакет предоставляет удобные классы для каждого из шести различных видов полиномов:
Name |
Предоставляет |
|---|---|
Степенные ряды |
|
Ряд Чебышёва |
|
Ряд Лежандра |
|
Ряд Лагерра |
|
Ряд Эрмита |
|
Ряд Эрмита-Эйлера |
Эти удобные классы предоставляют согласованный интерфейс для создания,
манипулирования и подгонки данных с полиномами разных базисов.
Удобные классы являются предпочтительным интерфейсом для 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
>>> xdata = [1, 2, 3, 4]
>>> ydata = [1, 4, 9, 16]
>>> 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.basis(degree)– Базовый полином заданной степениPoly.identity()–pгдеp(x) = xдля всехxPoly.fit(x, y, deg)–pстепениdegс коэффициентами, определенными методом наименьших квадратов для данныхx,yPoly.fromroots(roots)–pс указанными корнямиp.copy()– Создать копиюp
Преобразование#
Методы преобразования экземпляра полинома одного вида в другой.
p.cast(Poly)– Преобразоватьpк экземпляру типаPolyp.convert(Poly)– Преобразоватьpк экземпляру типаPolyили сопоставлять междуdomainиwindow
Исчисление#
p.deriv()– Взять производную отpp.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)в равноотстоящих точках вdomainp.mapparms()– Возвращает параметры для линейного отображения междуdomainиwindow.p.roots()– Возвращает корниp.p.trim()– Удалить конечные коэффициенты.p.cutdeg(degree)– Обрезатьpдо заданной степениp.truncate(size)– Обрезатьpдо заданного размера
Конфигурация#
Установить формат по умолчанию для строкового представления полиномов. |