多项式转化为初等对称多项式表达式的算法
我觉得我发明了一个新算法,初步搜索没找到别人发表过。哪里能找到“很多结果”:)另外我不明白下面的内容
https://reference.wolfram.com/language/tutorial/SymmetricPolynomials.html.zh
当变量的顺序固定的时候,任意多项式f可以被唯一地表示为一个对称多项式p,称为f的对称部分,和一个不包含降幂单项式的余项q的和.
因为我的算法跟SymmetricReduction的结果不一致。而且以我的使用体验,我的结果更好。
跟变量次序有关的Mathematica SymmetricReduction函数
SymmetricReduction ,Subscript}]
SymmetricReduction ,Subscript}]
{SymmetricReduction ,Subscript}],
SymmetricReduction ,Subscript}]}//Mean//Simplify
究竟哪个才是正确/合理的? 变量多了更麻烦
Table[SymmetricReduction[
6 a^3 - 3 a^2 b - 9 a b^2 + 10 b^3 - 5 a^2 c - 5 a b c + 10 a c^2 +
b c^2 + 5 c^3, \, {Subscript , Subscript,
Subscript}], {\, Permutations[{a, b, c}]}]
Mean[%] // Simplify SymmetricReduction希望对称部分满足f=f
或者f=f之类的
如果要对称部分,你要用Sum/(n!)进行处理
大约就是这样的一个东西:n = 3(*f有3个变量*)
f = a*100 + b*10 + c;
Simplify/n!]BTW,直接这样调用多好In:= SymmetricReduction
Out= {-10 a b + 5 (a + b)^2, -4 b^2}
.·.·. 发表于 2019-3-7 14:58
SymmetricReduction希望对称部分满足f=f
或者f=f之类的
如果要对称部分,你要用Sum
Sum/(n!)就是Mean/期望值,Permutations 已经包含n!了,我想知道的是期望值或者不同求算次序,哪个更“合理”,文献呐文献呐前人工作呐。:(
直接调用中间分析好看,下一步处理还是要换元的:handshake 还有更多的转化算法 zeroieme 发表于 2019-3-7 16:58
Sum/(n!)就是Mean/期望值,Permutations 已经包含n!了,我想知道的是期望值或者不同求算次序,哪个更 ...
我也不知道啊……
你不说“合理”的标准,我自然没办法告诉你什么是“合理”的了
毕竟,很多时候这种问题应该看使用场合的 .·.·. 发表于 2019-3-7 18:27
我也不知道啊……
你不说“合理”的标准,我自然没办法告诉你什么是“合理”的了
毕竟,很多时候这种问 ...
“合理”要下引号,就是我不知道有什么前人订立标准。
本身是对称多项式的转化有唯一结果。对于非对称多项式, 依我看,要相关变量的全排列置换后求平均才是合理的,就是Sum/(n!)。然而那是组合爆炸,有没有一种算法能直接得到这平均值结果呢? zeroieme 发表于 2019-3-7 19:10
“合理”要下引号,就是我不知道有什么前人订立标准。
本身是对称多项式的转化有唯一结果。对于非对称多 ...
为什么要组合数?
从最高次一次次往下迭代不就好了?
比如a^5+a^5b^3+b^4
首先选一个元素,比如a,将a^x替换成mean(...)^x=sum(...)^x/n!
然后选下一个元素,比如b,这时候,将b^x替换成mean(...)^x=sum(...)^x/n!,而如果这里存在b^x mean(...)^y,替换成mean(ab,...)^min(x,y)*sum(...)^|x-y|/n!
如果还有下一个,继续按照类似的方式进行替换
时间复杂度O(n^2*m)(n个变量,每一个变量出现m次) 本帖最后由 zeroieme 于 2019-3-8 13:54 编辑
.·.·. 发表于 2019-3-8 13:04
为什么要组合数?
从最高次一次次往下迭代不就好了?
比如a^5+a^5b^3+b^4
明白!我昨天说的是最笨的办法!:lol
你能帮忙找文献,有什么人定义过哪个结果合理么? 觉得有个方向再想算法能避免白费心思。
页:
[1]
2