使用整数的 FullSimplify 的意外行为
Unexpected behavior of FullSimplify with integers
我在 Mathematica 中执行了这个命令
FullSimplify[Integrate[Sin[x] Sin[k x ], {x, 0, Pi}], Element[k, Integers]]
并得到 0。但是,如果我使用 k=1 执行相同的命令。
Integrate[Sin[x] Sin[k x] /. {k -> 1}, {x, 0, Pi}]
我答对了,Pi/2。这是正常的吗?
我期望基于 k=1.
的条件
这是一个缺陷
积分:
Integrate[Sin[x] Sin[k x], {x, 0, Pi}]
评估为:
-(Sin[k \[Pi]]/(-1 + k^2))
如果您执行 Simplify[%, Element[k,Integers]]
,它将假定 Sin[k \[Pi]]
为零。 缺陷 是,Simplify
将假定 0
乘以任何非直接零符号被简化为 0
,即使可能是未定义的:
0 / x (*Evaluates to 0*)
ReleaseHold[Hold[0 / x] /. x->0] (*boom*)
这在 Simplify
的 可能的问题 部分中有详细解释。
以上都适用于FullSimplify
我在 Mathematica 中执行了这个命令
FullSimplify[Integrate[Sin[x] Sin[k x ], {x, 0, Pi}], Element[k, Integers]]
并得到 0。但是,如果我使用 k=1 执行相同的命令。
Integrate[Sin[x] Sin[k x] /. {k -> 1}, {x, 0, Pi}]
我答对了,Pi/2。这是正常的吗? 我期望基于 k=1.
的条件这是一个缺陷
积分:
Integrate[Sin[x] Sin[k x], {x, 0, Pi}]
评估为:
-(Sin[k \[Pi]]/(-1 + k^2))
如果您执行 Simplify[%, Element[k,Integers]]
,它将假定 Sin[k \[Pi]]
为零。 缺陷 是,Simplify
将假定 0
乘以任何非直接零符号被简化为 0
,即使可能是未定义的:
0 / x (*Evaluates to 0*)
ReleaseHold[Hold[0 / x] /. x->0] (*boom*)
这在 Simplify
的 可能的问题 部分中有详细解释。
以上都适用于FullSimplify