为什么一个实数上的函数 积分出来就到复数上了?
mathematica吧
全部回复
仅看楼主
level 1
Integrate[1/(x^2 \[Sqrt](x^6 - 1)), x]
出来结果是
-((Sqrt[1 - x^6] Hypergeometric2F1[-(1/6), 1/2, 5/6, x^6])/(
x Sqrt[-1 + x^6]))
这前面系数为什么出了个根号-1?
2022年09月21日 12点09分 1
吧务
level 10
估计是BUG。Rubi则能正确给出实函数。
要剖析这类BUG通常需要不少功夫,甚至可以说有能力做这个事的人并不多。建议向WRI报告。
2022年09月21日 14点09分 2
具体怎么搞 有什么办法吗
2022年09月21日 17点09分
……不是bug,参看6楼。
2022年09月30日 16点09分
level 9
Sqrt[-1 + x^6]你怎么去保证是实数?
2022年09月22日 05点09分 3
因为这个函数开始就定义在实数上
2022年09月22日 13点09分
@满脸痘痘只会嘴 这。。。那你在代码里没有体现你去告诉这个mma你要在实数中计算呀
2022年09月22日 14点09分
@翌日翌日翌 要加一句什么代码呢
2022年09月22日 15点09分
level 9
式子里有虚数算出来的也不一定是虚数呀[疑问]
2022年09月24日 03点09分 5
吧务
level 15
……那个虚数是个常数项啊,考虑到这个积分在-1到1是个复数,不定积分的通解里含复数并没有什么奇怪的。
“可我就是不喜欢这个虚数,怎么通过化简把它去掉?”很遗憾,这个我也不知道。顺便,在Mathematica里做此类变换历来都是赔本的买卖。非要得到实数解,那就用2楼提及的Rubi吧。
2022年09月30日 16点09分 6
不用 就是mma问题 我老板看一眼就知道结果是个beta函数
2022年10月07日 09点10分
@满脸痘痘只会嘴 回复内容太长,贴在7楼了。
2022年11月05日 06点11分
吧务
level 15
……你刚好具备相关知识当然是另一回事了,顺便Mathematica做不好涉及特殊函数的代数变换的情况并不很少见,有兴趣可以沿Stackexchange的[special-functions]查查看。
但是啊——
beta函数是个定积分,你是准备从哪积到哪?我就当你是要从 x0 积到 x1(1<x0<x1)好了,按照beta函数的定义,可以凑出正确答案是
expr = I/6 (Beta[x0^6, x1^6, -1/6, 1/2]);
这不还是个用复数表示的实数吗?是有别的恒等关系可以把那个 I 换掉吗?
2022年11月05日 06点11分 7
1