免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

不等式mathematica对称求和和轮换求和的自定义的函数

本帖最后由 hbghlyj 于 2020-1-29 12:20 编辑

只要在输入之前定义这两个函数,就能方便地输入轮换求和(cyc)和对称求和(sym)了
  1. cyc[Expr_,VarList_]:=Function[VarList,Expr] @@ RotateLeft[VarList, #] & /@ Range@Length[VarList] // Total
  2. sym[Expr_, VarList_, n_] :=
  3. Function[VarList, Expr] @@@
  4.     Permutations[VarList]/((Length[VarList] - n)!) // Total
复制代码
无标题.png
2020-1-29 12:20
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

本帖最后由 hbghlyj 于 2020-2-1 00:53 编辑

今改进了对称求和(sym)的代码
  1. cyc[Expr_,VarList_]:=Function[VarList,Expr] @@ RotateLeft[VarList, #] & /@ Range@Length[VarList]//Total
  2. sym[Expr_, VarList_]:=Function[VarList, Expr]@@@Permutations[VarList]//DeleteDuplicates//Total
复制代码
无标题.png
2020-2-1 00:50

TOP

再改一改
  1. cyc[Expr_, VarList_] :=
  2. Total[Expr /. (Thread[VarList -> RotateLeft[VarList, #]] & /@
  3.      Range[Length[VarList]])]
复制代码

TOP

返回列表 回复 发帖