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.