numlib:: mrootsМодульные корни полиномов
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
numlib::mroots(P, m)
numlib::mroots (P,m) возвращает ошибку, если P не является полиномом по целым числам или m, не является натуральным числом.
Для одномерного полиномиального P по целым числам и для натурального числа m вызов функции numlib::mroots(P,m) возвращает отсортированный список всех целых чисел x ∈ {0, 1, …, m - 1} таким образом что
.
Для многомерного полиномиального P numlib::mroots(P, m) возвращает лексикографически отсортированный список всех списков [x 1, …, x n] целых чисел между 0 и m - 1 таким образом что
.
Для одномерного полиномиального P по целым числам и для натурального числа m вызов функции numlib::mroots(P,m) возвращает отсортированный список всех целых чисел x ∈ {0, 1, …, m - 1} таким образом что
.
Для многомерного полиномиального P numlib::mroots(P, m) возвращает лексикографически отсортированный список всех списков [x 1, …, x n] целых чисел между 0 и m - 1 таким образом что
.
Определение полинома
P := poly(3*T^7 + 2*T^2 + T - 17, [T])
![]()
и вычисление его корней по модулю 1751:
numlib::mroots(P, 1751)
![]()
Полиномиальный P не имеет корней по модулю 1994:
numlib::mroots(P, 1994)
![]()
Мы используем numlib::mroots, чтобы найти все точки на конкретной эллиптической кривой по модулю 13:
numlib::mroots(poly(y^2 - x^3 - x - 2, [x, y]), 13)
![]()
|
Полином по целым числам |
|
Натуральное число |
Если P является одномерным, numlib::mroots возвращает список неотрицательных целых чисел. Если P имеет больше чем одну переменную, numlib::mroots возвращает список списков неотрицательных целых чисел.
numlib::mroots использует factor.