SymmetricReduction[f,{x1,…,xn}]
において
であるような多項式のペア
を与える.ただし,
は対称な部分であり
は剰余である.
SymmetricReduction[f,{x1,…,xn},{s1,…,sn}]
における初等対称式を
で置き換えたペア
を与える.
SymmetricReduction
SymmetricReduction[f,{x1,…,xn}]
において
であるような多項式のペア
を与える.ただし,
は対称な部分であり
は剰余である.
SymmetricReduction[f,{x1,…,xn},{s1,…,sn}]
における初等対称式を
で置き換えたペア
を与える.
詳細
が対称多項式であるなら,
は
と同値である初等対称多項式の中の一意的な多項式であり,
は0である.
が対称多項式ではなければ,出力
は一意的ではなく,その変数の順序に依存する.- 任意の順序において,対称ではない多項式
は,対称な部分の和
と下向きの単項式を含まない剰余
として一意的に表すことができる.単項式
は,
であれば下向きと呼ばれる. - 変数の順序を変えると異なるペア
が生ずることがある. - SymmetricReductionは,
が多項式であるかどうか判定せず,
の多項式部分を対称化しようとする.
例題
すべて開く すべて閉じる例 (3)
スコープ (3)
SymmetricReduction[x ^ 5 + 2x y ^ 2 + 2y x ^ 2 + y ^ 5, {x, y}, {s1, s2}]SymmetricReduction[x ^ 5 + 2x y ^ 2 + 2y x ^ 2 + y ^ 5, {y, x}, {s1, s2}]SymmetricReduction[x ^ 3 - 3x y ^ 2 + y ^ 5, {x, y}, {s1, s2}]SymmetricReduction[x ^ 3 - 3x y ^ 2 + y ^ 5, {y, x}, {s1, s2}]SymmetricReductionは,式の対称部分を簡約する:
SymmetricReduction[x y + Sin[x y + x z + y z], {x, y, z}, {s1, s2, s3}]アプリケーション (2)
方程式
の根が
,
,
であるとする.係数
,
,
は
,
,
の対称多項式と自明に関係している:
poly1 = x^3 + a x^2 + b x + c;SolveAlways[poly1 == (x - α)(x - β)(x - γ), x]SymmetricPolynomial[#, {α, β, γ}]& /@ Range[3]SolveAlways[x^3 + Overscript[a, _]x^2 + Overscript[b, _]x + Overscript[c, _] == (x - α^2)(x - β^2)(x - γ^2), x]SymmetricReductionを使って
,
,
について解く:
{Overscript[a, _], Overscript[b, _], Overscript[c, _]} = Part[SymmetricReduction[#, {α, β, γ}, {-a, b, -c}]& /@ {-α^2 - β^2 - γ^2, α^2β^2 + α^2γ^2 + β^2γ^2, -α^2β^2γ^2}, All, 1]poly2 = x^3 + Overscript[a, _]x^2 + Overscript[b, _]x + Overscript[c, _]x^2 /. NSolve[poly1 /. {a -> 3, b -> 5, c -> 7}, x]//Sortx /. NSolve[poly2 /. {a -> 3, b -> 5, c -> 7}, x]//Sortsystem = {
Cos[Subscript[a, 1]] + Cos[Subscript[a, 2]] + Cos[Subscript[a, 3]] - k == 0,
Cos[5Subscript[a, 1]] + Cos[5Subscript[a, 2]] + Cos[5Subscript[a, 3]] == 0,
Cos[7Subscript[a, 1]] + Cos[7Subscript[a, 2]] + Cos[7Subscript[a, 3]] == 0
};ChebyshevTを使って対称な多項式系に変換する:
eqns = system /. Cos[n_.Subscript[a, i_]] :> ChebyshevT[n, Subscript[x, i]]Solveは,変数x1,x2,x3中の方程式を解くことができる:
SetOptions[Solve, Cubics -> False, Quartics -> False];r1 = Solve[eqns, {Subscript[x, 1], Subscript[x, 2], Subscript[x, 3]}];//TimingLeafCount[r1]symeqns = Map[SymmetricReduction[#, {Subscript[x, 1], Subscript[x, 2], Subscript[x, 3]}, {Subscript[e, 1], Subscript[e, 2], Subscript[e, 3]}][[1]]&, eqns, {2}]r2 = Solve[symeqns, {Subscript[e, 1], Subscript[e, 2], Subscript[e, 3]}];//TimingLeafCount[r2]変数x1,x2,x3について対称多項式
を解くのも同じように速い:
Solve[Table[SymmetricPolynomial[k, {Subscript[x, 1], Subscript[x, 2], Subscript[x, 3]}] == Subscript[e, k], {k, 3}], {Subscript[x, 1], Subscript[x, 2], Subscript[x, 3]}];//Timing特性と関係 (2)
変数の順序が対称な部分と非対称な部分への分解に影響することがある:
SymmetricReduction[x ^ 2 - y ^ 2, {x, y}]SymmetricReduction[x ^ 2 - y ^ 2, {y, x}]対称多項式のもう1つの原則は完全な対称多項式からなっている.これらは任意の次数のすべての単項式の和で,母関数Product[1-xit,{i,n}]-1で定義することができる:
complete = Solve[1 + Subscript[h, 1]t + Subscript[h, 2]t^2 + Subscript[h, 3]t^3 + O[t]^4 == (1/Underoverscript[∏, i = 1, 3](1 - Subscript[x, i]t)) + O[t]^4, {Subscript[h, 1], Subscript[h, 2], Subscript[h, 3]}][[1]]行列式は完全な対称多項式に基づいた初等対称多項式を表している:
{Subscript[e, 1], Subscript[e, 2], Subscript[e, 3]} == {Subscript[h, 1], Det[| | |
| -- | -- |
| h1 | h2 |
| 1 | h1 |], Det[| | | |
| -- | -- | -- |
| h1 | h2 | h3 |
| 1 | h1 | h2 |
| 0 | 1 | h1 |]}%[[2]] /. complete//ExpandSymmetricPolynomial[#, {Subscript[x, 1], Subscript[x, 2], Subscript[x, 3]}]& /@ Range[3]完全な対称多項式に基づいて任意の対称多項式を表すこともできる:
SymmetricReduction[x y z(x + y)(x + z)(y + z), {x, y, z}, {Subscript[e, 1], Subscript[e, 2], Subscript[e, 3]}] /. {Subscript[e, 1] -> Subscript[h, 1], Subscript[e, 2] -> Det[| | |
| -- | -- |
| h1 | h2 |
| 1 | h1 |], Subscript[e, 3] -> Det[| | | |
| -- | -- | -- |
| h1 | h2 | h3 |
| 1 | h1 | h2 |
| 0 | 1 | h1 |]}//Expandテクニカルノート
-
▪
- 対称式
テキスト
Wolfram Research (2007), SymmetricReduction, Wolfram言語関数, https://reference.wolfram.com/language/ref/SymmetricReduction.html.
CMS
Wolfram Language. 2007. "SymmetricReduction." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/SymmetricReduction.html.
APA
Wolfram Language. (2007). SymmetricReduction. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SymmetricReduction.html
BibTeX
@misc{reference.wolfram_2026_symmetricreduction, author="Wolfram Research", title="{SymmetricReduction}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/SymmetricReduction.html}", note=[Accessed: 08-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_symmetricreduction, organization={Wolfram Research}, title={SymmetricReduction}, year={2007}, url={https://reference.wolfram.com/language/ref/SymmetricReduction.html}, note=[Accessed: 08-November-2026]}