pdivide

Псевдоделение полиномов

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

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

Синтаксис

pdivide(p, q, <[x]>, <order>, options)
pdivide(p, q, <[x1, x2, …]>, <order>, options)
pdivide(p, q1, q2, …, <[x1, x2, …]>, <order>, options)

Описание

pdivide(p, q) выполняет псевдоделение полиномов или многочленных выражений p и q. Функция возвращает факторный b, псевдочастное s, и псевдоостаток r, таким образом, что b*p = s*q + r.

pdivide(p, q1, q2, q3, ..., qN) выполняет псевдоделение полинома или многочленного выражения p полиномами или многочленными выражениями q1, q2, q3, ..., qN.

pdivide(p, q) возвращает последовательность b, s, r, где b элемент содействующего звонка полиномов. Псевдочастное s и псевдоостаток r удовлетворите этим условиям: b*p = s*q + r, degree(p) = degree(s) + degree(q), и degree(r) < degree(q).

По умолчанию, pdivide определяет факторный b как b = lcoeff (q)^( degree (p) - degree(q) + 1). AnyFactor включает pdivide использовать другие значения b. Смотрите пример 2.

pdivide работает с полиномами или многочленными выражениями.

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

Когда вы вызываете pdivide для многочленных выражений MuPAD® внутренне преобразует эти выражения в полиномы. Смотрите poly функция. Если выражения не могут быть преобразованы в полиномы, pdivide возвращает FAIL. Смотрите пример 3.

Если вы вызываете pdivide для полиномов это возвращает полиномы. Если вы вызываете pdivide для многочленных выражений это возвращает многочленные выражения.

Если вы выполняете псевдоделение многочленных выражений, которые содержат несколько переменных, можно задать конкретные переменные, которые будут обработаны как переменные. pdivide функционируйте обрабатывает все другие переменные как символьные параметры. По умолчанию, pdivide принимает, что все переменные в многочленных выражениях являются переменными, и ни один из них не символьный параметр. Смотрите Пример 4.

pdivide(p, q1, q2, q3, ..., qN) возвращает факторный b, псевдочастные s1, s2, ..., sN и псевдоостаток r, таким образом, что b*p = s1*q1 + s2*q2 + ... + sN*qN + r.

При выполнении псевдоделения полинома одним или несколькими полиномами можно выбрать термин упорядоченное расположение. Упорядоченное расположение принимает эти значения:

  • LexOrder устанавливает лексикографическое упорядоченное расположение.

  • DegreeOrder устанавливает общее упорядоченное расположение степени. При использовании этого упорядоченного расположения MuPAD сортирует условия полинома согласно общей степени каждого термина (сумма экспонент переменных).

  • DegInvLexOrder устанавливает общую инверсию степени лексикографическое упорядоченное расположение. При использовании этого упорядоченного расположения MuPAD сортирует условия полинома согласно общей степени каждого термина (сумма экспонент переменных). Если несколько условий имеют равные общие степени, MuPAD сортирует их использующий обратное лексикографическое упорядоченное расположение.

  • Ваше пользовательское упорядоченное расположение термина типа Dom::MonomOrdering.

Смотрите пример 5.

В отличие от divide, pdivide не требует, чтобы содействующий звонок полиномов реализовал "_divide" паз, потому что коэффициенты не разделены на этот алгоритм. Смотрите Пример 6.

Примеры

Пример 1

Выполните псевдоделение этих двух полиномов:

p:= poly(x^3 + x + 1):  q:= poly(3*x^2 + x + 1):
[b, s, r] := [pdivide(p, q)]

Результат удовлетворяет этому уравнению:

p*b = s*q + r

Теперь вычислите псевдочастное и псевдоостаток отдельно:

pdivide(p, q, Quo), pdivide(p, q, Rem)

delete p, q, b, s, r:

Пример 2

По умолчанию, pdivide выполняет псевдоделение p q с факторным b определенный формулой b = lcoeff (q)^( degree (p) - degree(q) + 1):

p := 4*x^2 + 3: q := 2*x + 2:
b = lcoeff(q)^(degree(p) - degree(q) + 1);
pdivide(p, q)

Включить pdivide изменить значение b, используйте AnyFactor:

pdivide(4*x^2 + 3, 2*x + 2, AnyFactor)

Пример 3

Если выражение не может быть преобразовано в полином, pdivide возвращает FAIL:

pdivide(1/x, x)

Пример 4

При выполнении псевдоделения многомерных полиномов можно задать список переменных. pdivide функция принимает, что все другие переменные являются символьными параметрами. Например, разделите следующие два многочленных выражения, задающие тот xY, и a переменные. Получившееся псевдочастное 0, и псевдоостаток равняется дивиденду p:

p := x^3 + x + y:
q := a*x^2 + x + 1:
pdivide(p, q, [x, y, a])

Разделите эти выражения, задающие тот x и y переменные. MuPAD принимает тот a символьный параметр. Здесь, и псевдочастное и псевдоостаток не равны 0:

pdivide(p, q, [x, y])

Теперь разделите те же многочленные выражения, задающие тот единственный y переменная. MuPAD принимает тот x и a символьные параметры. Здесь псевдоостаток 0:

pdivide(p, q, [y])

По умолчанию, pdivide функционируйте обрабатывает многочленные выражения с несколькими переменными как многомерные многочленные выражения. Функция не принимает, что любая из переменных является символьными параметрами:

pdivide(x^3 + x + y, a*x^2 + x + 1)

Пример 5

pdivide позволяет вам выполнить псевдоделение полинома (или многочленное выражение) несколькими полиномами (или многочленные выражения):

p := 4*x^4 + a*x^2*y^4:
q1 := x^3 - a:
q2 := x + y:
[b, s1, s2, r] := [pdivide(p, q1, q2)]

Результат удовлетворяет условию b*p = s1*q1 + s2*q2 + r:

testeq(b*p, s1*q1 + s2*q2 + r)

При делении полинома на несколько полиномов можно выбрать термин упорядоченное расположение:

pdivide(p, q1, q2, LexOrder)

pdivide(p, q1, q2, DegreeOrder)

Пример 6

Содействующий звонок может быть произвольным звонком. Например, здесь кольцо классов вычетов целых чисел по модулю 8 представляет содействующий звонок:

pdivide(poly(x^3 + x + 1, IntMod(8)), 
        poly(4*x^3 + x + 1, IntMod(8)))

Обратите внимание на то, что pdivide не требует делимости коэффициентов.

Параметры

pQ

Одномерные или многомерные полиномы или многочленные выражения.

p, q1, q2, …

Одномерные или многомерные полиномы или многочленные выражения.

x

Неопределенный из полинома, который обычно является идентификатором или индексируемым идентификатором. pdivide обрабатывает выражения как одномерные полиномы в неопределенном x.

x1, x2, …

indeterminates полинома, которые обычно являются идентификаторами или индексированными идентификаторами. pdivide обрабатывает многомерные выражения как многомерные полиномы в этих indeterminates.

order

Термин, заказывающий при выполнении псевдоделения одного многомерного полинома одним или несколькими многомерными полиномами: LexOrder, DegreeOrder, DegInvLexOrder, или пользовательское упорядоченное расположение термина типа Dom::MonomOrdering. Значением по умолчанию является лексикографическое упорядоченное расположение LexOrder.

Опции

Quorem

Возвратите только псевдочастное или псевдоостаток. По умолчанию, pdivide возвращает последовательность, содержащую факторный b, псевдочастное s (или псевдочастные s1, s2, ...), и псевдоостаток r. Смотрите пример 1.

AnyFactor

Позвольте гибкость для факторного b. Без этой опции, b = lcoeff (q)^( degree (p) - degree(q) + 1).

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

Полином, или многочленное выражение, или последовательность, содержащая элемент содействующего звонка входных полиномов и полиномов (или многочленные выражения), или значение FAIL.

Перегруженный

fGPQ

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

Функции MuPAD