|
楼主 |
kuing
发表于 2018-5-7 14:10
关于MMC验证,我发现,虽然直接用 FullSimplify 验证不出来,但是如果先 TrigReduce 再 FullSimplify 却可以!虽然我不理解其中原理。
如下图,是关于 `S_{m,n}(\theta)` 的,S[m,n] 是原式,Shj[m,n] 是我得出的化简式(其中已经包含了两种情况,因为我用了 If 判断):
验证 `m=n=7`,直接 FullSimplify 出来的跟没算一样,加 TrigReduce 后瞬间出来 0。
验证 `m=100`, `n=10`,即楼上上那个吓人恒等式,直接 FullSimplify 卡死,被迫终止,加 TrigReduce 后运行10秒左右出来 0。
既然如此,那就不怕批量验证了,下面验证 `m`, `n\leqslant15`:
这条命令运行了大概两分钟。
同样地,也可以批量验证 `T_{m,n}(\theta)`:
也是运行两分钟左右,出来那堆 0。
PS、输入这个 `T_{m,n}(\theta)` 的化简式把我累得不要不要的……
附代码:- S[m_, n_] := Sum[(-1)^k Cos[(k Pi)/n + x]^m, {k, 0, 2 n - 1}]
- Shj[m_, n_] :=
- If[m >= n && EvenQ[m - n],
- n/2^(m - 2) Sum[
- Binomial[m, (m - (2 p - 1) n)/2] Cos[(2 p - 1) n x], {p, 1,
- Floor[(m + n)/(2 n)]}], 0]
- Table[FullSimplify[TrigReduce[S[m, n] - Shj[m, n]]], {m, 1, 15}, {n,
- 1, 15}]
- T[m_, n_] := Sum[Cos[(2 k Pi)/n + x]^m, {k, 0, n - 1}]
- Thj[m_, n_] :=
- If[OddQ[m] && (m < n || m >= n && EvenQ[n]), 0,
- If[EvenQ[m] && (m < n || n <= m < 2 n && OddQ[n]),
- n/2^m*Binomial[m, m/2],
- If[OddQ[m] && OddQ[n] && m >= n,
- n/2^(m - 1)*
- Sum[Binomial[m, (m - (2 p - 1) n)/2] Cos[(2 p - 1) n x], {p, 1,
- Floor[(m + n)/(2 n)]}],
- If[EvenQ[m] && EvenQ[n] && m >= n,
- n/2^(m - 1)*
- Sum[Binomial[m, (m - p n)/2] Cos[p n x], {p, 1, Floor[m/n]}] +
- n/2^m*Binomial[m, m/2],
- If[EvenQ[m] && OddQ[n] && m >= 2 n,
- n/2^(m - 1)*
- Sum[Binomial[m, (m - 2 p n)/2] Cos[2 p n x], {p, 1,
- Floor[m/(2 n)]}] + n/2^m*Binomial[m, m/2]]]]]]
- Table[FullSimplify[TrigReduce[T[m, n] - Thj[m, n]]], {m, 1, 15}, {n,
- 1, 15}]
复制代码 |
|