Dom
:: MultivariatePolynomial
Области многомерных полиномов
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
Dom::MultivariatePolynomial(<Vars, <R, <Order>>
>)
Dom::MultivariatePolynomial(Vars, R, Order)(p
)
Dom::MultivariatePolynomial(Vars, R, Order)(lm
)
Dom::MultivariatePolynomial(Vars, R, ..)
создает область многомерных полиномов в списке переменных Vars
по коммутативному кольцевому R
в распределенном представлении.
Dom::MultivariatePolynomial
представляет многомерные полиномы по произвольным коммутативным звонкам.
Все обычные алгебраические и арифметические полиномиальные операции реализованы, включая базисное вычисление Gröbner и некоторые классические инструменты конструкции, используемые в инвариантной теории.
Это, настоятельно рекомендуют использовать только содействующие звонки с уникальным нулевым представлением. В противном случае это может произойти, который, например, не отключит полиномиальное деление, или будет возвращена неправильная степень.
Dom::MultivariatePolynomial(Vars, R, Order)
создает область многомерных полиномов в списке переменных Vars
по доменному R
категории Cat::CommutativeRing
в разреженном распределенном представлении относительно одночлена, заказывая Order
.
Dom::MultivariatePolynomial()
создает полиномиальную область в списке переменных [x,y,z]
по доменному Dom::ExpressionField
(normal)
относительно лексикографического одночленного упорядоченного расположения.
Dom::MultivariatePolynomial(Vars)
генерирует полиномиальную область в списке переменных, Vars
по доменному Dom::ExpressionField(normal)
относительно лексикографического одночленного упорядоченного расположения создается.
Только коммутативные содействующие звонки типа DOM_DOMAIN
, которые наследовались Dom::BaseDomain
, позволены. Если R
будет иметь тип DOM_DOMAIN
, но не наследуется Dom::BaseDomain
, доменный Dom::ExpressionField
, ТО (normal)
будет использоваться вместо этого.
В отличие от доменного Dom::DistributedPolynomial
, Dom::MultivariatePolynomial
принимает только идентификаторы (DOM_IDENT
) как indeterminates. Это ограничение включает некоторые дальнейшие методы, описанные ниже.
Отметьте: По причинам эффективности не все методы проверяют свои аргументы, даже на интерактивном уровне. В частности это верно для многих методов доступа, преобразовывая методы и технические методы. Это может вызвать странные сообщения об ошибке.
Если R
имеет Ax::normalRep
, то Ax::normalRep
.
Если R
имеет Ax::canonicalRep
, то Ax::canonicalRep
.
Если Vars
имеет одну переменную, то Cat::UnivariatePolynomial
(R)
, еще Cat::Polynomial
(R)
.
Чтобы создать звонок многомерных полиномов в x
, y
и z
по rationals, можно задать
MP := Dom::MultivariatePolynomial([x, y, z], Dom::Rational)
Элементарные симметричные полиномы этой области
s1 := MP(x + y + z)
s2 := MP(x*y + x*z + y*z)
s3:=MP(x*y*z)
Полином называется симметричный, если это остается неизменным при каждой возможной перестановке переменных как, например:
s3=s3(MP(y), MP(z), MP(x))
Эти полиномы возникают естественно в изучении корней полинома. Чтобы показать это, мы сначала должны создать одномерный полином, например, в U
по MP
, и сгенерировать полином в U
с корнями в x
, y
и z
.
UP:=Dom::UnivariatePolynomial(U, MP)
f := UP((U - x)*(U - y)*(U - z))
UP(U^3)-s1*UP(U^2)+s2*UP(U)+(-1)^3*s3
Это иллюстрирует это, коэффициенты f
являются (элементарными) симметричными полиномами в его корнях.
От основной теоремы симметричных полиномов мы знаем, что каждый симметричный полином может быть записан исключительно как полином в элементарных симметричных полиномах. Таким образом мы можем переписать следующий симметричный полиномиальный s
в элементарных симметричных полиномах s1
, s2
и s3
,
s:=MP(x^3*y+x^3*z+x*y^3+x*z^3+y^3*z+y*z^3)
S:=MP::rewritePoly(s,[s1=S1,s2=S2,s3=S3])
где эти полиномы представлены тремя новыми переменными S1
, S2
и S3
соответственно. Чтобы видеть, что этот новый полиномиальный S
в новых переменных действительно представляет старый исходный полиномиальный s
, мы просто должны включить три элементарных симметричных полинома в S
:
poly(S, Expr)(s1,s2,s3)
Когда у каждого есть данный список полиномов, например, как:
l:=[3*s1,2*s1,s1,s3]
и каждый хочет отсортировать их в соответствующем порядке, можно использовать один из следующих двух методов.
MP::sortList(l,Dom::MonomOrdering(DegLex(3)))
MP::stableSort(l,Dom::MonomOrdering(DegLex(3)))
В первом отсортированном списке изменился порядок трех полиномов той же степени, в то время как со вторым методом этот порядок остается стабильным.
Позвольте быть конечной (матричной) подгруппой полной линейной группы. Затем полином называется инвариантом underG, если для всего A ∈ G
где. Симметричные полиномы s1
, s2
и s3
от предыдущего примера являются инвариантами под симметричной группой S 3. На самом деле эти три основных инварианта все же генерируют целый звонок инвариантов S 3.
Теперь давайте исследуем инварианты известной двадцатигранной группы. Можно найти представление этой группы на странице 73 Х. Ф. Блихфелдта: Конечные группы коллинеации, Нажатие Чикагского университета, 1917.
Группа сгенерирована из этих трех матриц, имеет 120 элементов и является таким образом конечной подгруппой, даже специальной линейной группы SL (2, ℚ (ε)). Это также известно это
основной инвариант степени 12 из этой группы. Чтобы объявить i 1 в MuPAD®, нужно сначала задать полиномиальную область.
MP:=Dom::MultivariatePolynomial([x1,x2],Dom::Rational)
i1:=MP(x1*x2^(11)-11*x1^6*x2^6-x1^(11)*x2)
От инвариантного i 1 можно вычислить дальнейший основной инвариантный i 2 с
i2:=MP::hessianDet(i1)
Но получить более простые коэффициенты мы выбираем i 2 как
i2:=-1/121*MP::hessianDet(i1)
вместо этого. Подобный мы получаем третий основной инвариантный i 3 с
i3:=1/20*MP::jacobianDet([i1,i2])
В отличие от симметричных групп, где все инварианты могут быть исключительно представлены основными инвариантами, основные инварианты этой группы имеют алгебраическое отношение, так называемую сизигию между ними. Возможно представлять i 32 двумя способами:
MP::rewritePoly(i3^2,[i1=I1,i2=I2,i3=I3])
MP::rewritePoly(i3^2,[i1=I1,i2=I2,i3=I3],Unsorted)
И следовательно мы получаем сизигию:
MP::rewritePoly(i3^2,[i1=I1,i2=I2,i3=I3],Unsorted)- MP::rewritePoly(i3^2,[i1=I1,i2=I2,i3=I3]) = 0
|
Список indeterminates. Значение по умолчанию: |
|
Коммутативный звонок, т.е. область категории |
|
Одночленное упорядоченное расположение, т.е. одно из предопределенных упорядоченных расположений |
|
Полином или многочленное выражение. |
|
Список одночленов, которые представлены как списки, содержащие коэффициенты вместе с векторами экспоненты или экспонентами. |
"характеристика" | Характеристика этой области. |
"coeffRing" | Содействующий звонок этой области, как задано параметром |
"ключ" | Имя области создается. |
"один" | Нейтральный элемент w.r.t. |
"упорядоченное расположение" | Упорядоченное расположение одночлена, заданное параметром |
Переменные | Список переменных, заданных параметром |
"нуль" | Нейтральный элемент w.r.t. |
[1] Winfried Fakler. “Algorithmen zur symbolischen Lösung homogener linearer Differentialgleichungen”. Diplomarbeit, Universität Карлсруэ, 1994.