polylib:: randpoly

Создайте случайный полином

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

polylib::randpoly()
polylib::randpoly(<list>, <ring>, <Degree = n>, <Terms = k>, <Coeffs = f>, <Monic>)

Описание

polylib::randpoly() возвращает одномерный случайный полином с целочисленными коэффициентами; глобальный идентификатор x используется в качестве неопределенного.

polylib::randpoly(list) возвращает случайный полином во всем indeterminates, данном в list.

polylib::randpoly(list, ring) возвращается, случайный полином в indeterminates, данном в list по коэффициенту, звонят ring.

Смотрите poly для подробного описания возможного indeterminates и содействующих звонков.

Полином создается путем случайного выбора стольких же экспонент, сколько задано через опцию Terms и затем выбора случайных коэффициентов. Это может, конечно, произойти, что для некоторого коэффициента 0 выбран, поэтому фактическое количество условий в результате может быть меньшим, чем значение опции Terms.

Если опция, которую Coeffs=f дан, случайные коэффициенты, сгенерирована путем вызова f(). В противном случае, если ring будет Expr, коэффициенты будут случайными целыми числами в области значений - 999, …, 999. Если ring является пользовательской областью, он должен иметь метод "random", чтобы создать коэффициенты, если никакая функция не дана.

Если опция, которую Monic дан, получившийся полином, имеет точно заданную степень, и ведущий коэффициент равняется 1.

Если требуемое количество условий превышает максимальное возможное количество условий для заданной степени и количество переменных, предупреждение испускается, и создается плотный полином.

Взаимодействия среды

Если генератор не задан через опцию Coeffs, polylib::randpoly использует random, чтобы создать экспоненты и коэффициенты. Поэтому это чувствительно к переменной окружения SEED.

Примеры

Пример 1

Мы генерируем одномерный случайный полином в неопределенном z и используем значения по умолчанию для других опций. Поэтому полином имеет целочисленные коэффициенты, степени 5 и имеет 6 условий.

polylib::randpoly([z])

Пример 2

Мы создаем двумерный случайный полином по конечному полю с 7 элементами. Это работает, потому что Dom::IntegerMod имеет слот "random", который генерирует случайные элементы:

polylib::randpoly([x,y],Dom::IntegerMod(7),Degree=3,Terms=4);

Параметры

list

Список indeterminates

ring

Содействующий звонок

Опции

Degree

Опция, заданная как Degree = k

Максимальная степень результат может иметь в каждой переменной. k должен быть неотрицательным целым числом. Значение по умолчанию равняется 6.

Terms

Опция, заданная как Terms = t

Заставляет polylib::randpoly сгенерировать сумму t случайные условия. t должен быть положительным целым числом или infinity. Если t равняется infinity, polylib::randpoly возвращает плотный полином. Значение по умолчанию равняется 5.

Coeffs

Опция, заданная как Coeffs = f

Создайте коэффициенты результата путем вызова f().

Monic

Созданный полином является monic, т.е. ведущий коэффициент равняется 1.

Возвращаемые значения

Полином в данном indeterminates по данному звонку. Если никакой список indeterminates не дан, [x] используется. Если никакой звонок не дан, Expr используется.

Смотрите также

Функции MuPAD