hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 1260|回复: 5

有个含三次根式的复数算式,如何用 mathematica 化简?

[复制链接]

585

主题

769

帖子

2007

积分

大司空

Rank: 5Rank: 5

积分
2007
发表于 2023-10-3 08:45:01 | 显示全部楼层 |阅读模式
已知有三个复数算式如下图。它们都含有三次根式,能否用 mathematica  将它们化简? (已知化简结果为三个互不相等的实数表达式)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

184

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-3 08:45:54 | 显示全部楼层
一眼看上去觉得是三次方程的根,果然mathematica也是这么认为的
  1. (Power[-17-ISqrt[8499],(3)^-1]+Power[-17+ISqrt[8499],(3)^-1])/(9Power[2,(3)^-1])//FullSimplify
复制代码
  1. Root[17 - 351 #1 + 729 #1^3 &, 3]
复制代码

如果觉得三角函数比Root简单的,可以复数展开后分别简化
  1. (Power[-17-ISqrt[8499],(3)^-1]+Power[-17+ISqrt[8499],(3)^-1])/(9Power[2,(3)^-1])//ComplexExpand//Simplify[Re[#]]+I*FullSimplify[Im[#]]&
复制代码
加上合并三角函数代码
  1. (Power[-17-ISqrt[8499],(3)^-1]+Power[-17+ISqrt[8499],(3)^-1])/(9Power[2,(3)^-1])//ComplexExpand//Simplify[Re[#]]+I*FullSimplify[Im[#]]&//{#,Level[#,\[Infinity]]//{Cases[#,Cos[_]],Cases[#,Sin[_]]}&//Flatten//({#->#[[0]][\[Alpha]],\[Alpha]->#[[1]]})&/@#&}&//{#[[1]]/.#[[2,All,1]],#[[2,All,2]]//DeleteDuplicates}&//{Coefficient[#[[1]],Sin[\[Alpha]]],Coefficient[#[[1]],Cos[\[Alpha]]],#[[-1]]}&//rCos[\[Alpha]-\[Beta]]/.{r->Sqrt[#[[1]]^2+#[[2]]^2],#[[-1,1]],\[Beta]->ArcTan[#[[2]],#[[1]]]}&
复制代码

当然用RootReduce之后套用三次方程的三角函数求根公式也行
回复

使用道具 举报

0

主题

190

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2023-10-3 08:46:15 | 显示全部楼层
谢谢 2# 的大侠给出的化简程序。

有没有比下面更简单的三角函数和差化积程序?



上面的程序代码是:
  1. 1/9 Sqrt[13] (Sqrt[3] Sin[1/3 ArcTan[Sqrt[8499]/17]] +        Cos[1/3 ArcTan[Sqrt[8499]/17]]) // {#,       Level[#, \[Infinity]] // {Cases[#, Cos[_]],            Cases[#, Sin[_]]} & //         Flatten // ({# -> #[[0]][\[Alpha]], \[Alpha] -> #[[1]]}) & /@ \# &} & // {#[[1]] /. #[[2, All, 1]], #[[2, All, 2]] //       DeleteDuplicates} & // {Coefficient[#[[1]], Sin[\[Alpha]]],     Coefficient[#[[1]], Cos[\[Alpha]]], #[[-1]]} & //  r Cos[\[Alpha] - \[Beta]] /. {r ->      Sqrt[#[[1]]^2 + #[[2]]^2], #[[-1, 1]], \[Beta] ->      ArcTan[#[[2]], #[[1]]]} &
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

212

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-3 08:46:41 | 显示全部楼层
我只是练练手。
最后我说了,作为三次方程的根,可以用RootReduce得到最小三次方程,使用求根公式的三角形式,就只有一个三角函数项。    https://baike.sogou.com/v7552105.htm



~~~~~~~~~~~~
  1. ((-17-I Sqrt[8499])^(1/3)+(-17+I Sqrt[8499])^(1/3))/(9 2^(1/3))//Function[{InputData},InputData//RootReduce//First//(#[x])&//If[Exponent[#,x]!=3,FullSimplify[InputData],CoefficientList[#,x]//Thread[{d,c,b,a}->#]&//Join[{\[Lambda]->2Sqrt[b^2-3a c],\[Theta]->ArcCos[(-2 b^3+9a b c-27a^2 d)/(2(b^2-3a c)^(3/2))]}/.#,#]&//(3a)^-1 (\[Lambda] Cos[{\[Theta],2\[Pi]+\[Theta],4\[Pi]+\[Theta]}/3]-b)/.#&//Select[#,N[#]==N[InputData]&]&//First]&]
复制代码
回复

使用道具 举报

0

主题

206

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-3 08:46:48 | 显示全部楼层
一元三次方程用三角函数方法解,这个我知道。现在抛开三次方程解法,只单纯说 1#  楼的算式如何化简。

用以下指令化简如何?
  1. Simplify@ComplexExpand[(  Power[-17 - I Sqrt[8499], (3)^-1] + Power[-17 + I Sqrt[8499], (   3)^-1])/(9 Power[2, (3)^-1])]   TrigFactor [1/9 Sqrt[13] (Sqrt[3] Sin[x/3] + Cos[x/3])] /.  x -> ArcTan[Sqrt[8499]/17]
复制代码

上面的代码有个缺点,就是第二条语句是由第一条的结果来的。如果要消除这个缺点,就变成 2# 楼那样的代码,不过这个代码太长了,一时也难以读懂。有没有更好的办法?
回复

使用道具 举报

0

主题

183

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-3 08:47:19 | 显示全部楼层
TrigFactor可以啊,我只是先用Cases抓出三角函数变成替换规则。


~~~~~~~~~~~~~~~~~~~~~~~~
  1. (Power[-17-I Sqrt[8499],(3)^-1]+Power[-17+I Sqrt[8499],(3)^-1])/(9 Power[2,(3)^-1])//ComplexExpand//Simplify@#&//(*三角函数捕抓段*){#,Level[#,\[Infinity]]//{Cases[#,Cos[_]],Cases[#,Sin[_]]}&//Flatten//#[[All,1]]&//Union//MapIndexed[#1->Subscript[\[Theta], #2[[1]]]&,#]&}&(*三角函数捕抓段*)//{#[[1]]/.#[[2]]//TrigFactor,Reverse/@#[[2]]}&//#[[1]]/.#[[2]]&
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-11-22 08:57 , Processed in 0.063980 second(s), 23 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

快速回复 返回顶部 返回列表