有没有在实数域及复数域进行代数式因式分解的命令?
mathematica吧
全部回复
仅看楼主
level 5
例如,下式在有理数域是不能分解因式的:
Factor[-1 + 8 x^2]
但是在实数域内可以分解成:-(1/2) (Sqrt[2] - 4 x) (Sqrt[2] + 4 x)
用什么指令实现上述分解?
2016年09月04日 11点09分 1
吧务
level 7
f = -1 + 8 x^2;
Factor[f, Extension -> (x /. Solve[f == 0 && Im[x] == 0, x])]
2016年09月07日 02点09分 3
噢噢,谢谢 wengdeping88 小吧主,你这个指令靠谱。
2016年09月09日 12点09分
@啥都不懂999999 不过还是有点不严谨,没有实数解就不行了,比如f = 1 + 8 x^2,要再加个判断,不然会出错
2016年09月09日 13点09分
靠谱
2022年07月24日 09点07分
level 5
改进后的果然很好啊,谢谢莲花。
In[2]:= Clear[factor];
factor[poly_, a_] :=
Module[{alpha = Root[poly, 1]},
Factor[poly, Extension -> {alpha, I}] /. alpha -> a];
factor[8 x^2 - 1, x]
Out[4]= -(1/2) (Sqrt[2] - 4 x) (Sqrt[2] + 4 x)
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
In[8]:= Clear[factor];
factor[poly_, a_] :=
Module[{alpha = Root[poly, 1]},
Factor[poly, Extension -> {alpha, I}] /. alpha -> a];
factor[x^4 + 1, x]
Out[10]= 1/81 ((-6 - I) + (6 + 2 I) x + (1 - 6 I) x^2 -
2 x^3) ((-3 - 2 I) + (3 + 4 I) x + (2 - 3 I) x^2 -
x^3) ((3 + 2 I) + (3 - 4 I) x - (2 - 3 I) x^2 + x^3) ((6 + I) -
2 I x - (1 - 6 I) x^2 + 2 x^3)
2016年09月12日 06点09分 5
level 5
请教莲花:下面这个多项式怎么分解不出来呢?
576 - 960 x^2 + 352 x^4 - 40 x^6 + x^8
2016年09月14日 04点09分 6
1