利用Sympy计算sin1°的最小多项式

  首先我们有 cos36=5+14 ,可以利用顶角为 36 的等腰三角形求出,它满足方程 4x22x1=0 .
  利用二倍角公式 cos2x=2cos2x1 迭代两次,求出 cos9 满足的多项式,可以发现它是一个关于 cos29 的多项式,因此我们可以求出 sin29 满足的多项式。
  接着,我们利用三倍角公式 sin3x=3sinx4sin3x 迭代两次即可求出 sin1 满足的多项式,在此基础上因此分解,并代入求值即可得到 sin1 的最小多项式。
  上Python代码~~

from sympy import *
import math
init_printing()
x = symbols('x')
t1=4*x**2-2*x-1
t2=t1.subs({x:2*x**2-1})
t3=t2.subs({x:2*x**2-1})
t4=t3.subs({x**2:(1-x**2)})
t5=t4.subs({x:3*x-4*x**3})
t6=t5.subs({x:3*x-4*x**3})
factor(t6)

  t6即为 sin1 满足的多项式,因式分解的结果如下:
  sin1因式分解
  我们只要依次将 sin1 代入以上三个多项式中验证即可。
  sin1代入1
  sin1代入2
  只需验证 sin1 满足上述的48次多项式即可。

s=factor(t6)/(256*x**8-512*x**6+304*x**4-48*x**2+1)
r=s/(65536*x**16-262144*x**14+430080*x**12-372736*x**10+182784*x**8-50176*x**6+7040*x**4-384*x**2+1)
r.subs({x:math.sin(math.pi/180)})

运行结果如下:
sin1代入2

  因此, sin1 的最小多项式次数为48.



  如有不足之处,还望批评指正。期待下一次分享~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值