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

本文通过迭代使用二倍角及三倍角公式,结合符号计算软件Sympy,推导出了sin1°满足的48次最小多项式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  首先我们有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、付费专栏及课程。

余额充值