找到指数方程或三角函数中的复数根

问题描述 投票:0回答:1

如果您能帮助我使用Sage中的代码。我想找到这种类型的方程式的根:e^(2*pi*b*i)。常数b和虚数单位i。该方程式也可以写成:cos(b*2*pi)+ i*sin(b*2*pi)。您知道执行此操作的任何命令吗?

我正在尝试:

import matplotlib.pyplot as plt
import numpy as np
import cmath
from scipy.optimize import fsolve
z=var('z')
a = cos(4*cmath.pi*z)+ cos(14*cmath.pi*z) + cos(62*cmath.pi*z)+ (I* 
(sin(4*cmath.pi*z)+ sin(14*cmath.pi*z)+ sin(62*cmath.pi*z)))
def f(x):
    return np.abs( math.cos(4*math.pi*x)+ math.cos(14*math.pi*x) + 
    math.cos(62*math.pi*x)+(1j*(math.sin(4*math.pi*x)+ 
    math.sin(14*math.pi*x)+ math.sin(62*math.pi*x))))
    x = fsolve(f, 0.01)

也与:

from sage.rings.polynomial.complex_roots import complex_roots
x=polygen(CC)
complex_roots(cos(4*math.pi*x)+ cos(14*math.pi*x) + cos(62*math.pi*x)+(I* 
(sin(4*math.pi*x)+ sin(14*math.pi*x)+ sin(62*math.pi*x))))

谢谢!

python sage
1个回答
0
投票

如果您正在寻找方程式e^z=0的解,则没有任何解。 z是实数,纯虚数(如2*b*pi*i)还是任意复数都没有关系。

如果分解e^z=e^(a+ib)=e^a*e^(ib),您会很容易看到。第二个因子e^(ib)位于复平面上的单位圆上。第一个因子是实数,并且始终大于零。因此,乘积永远不能为零。

© www.soinside.com 2019 - 2024. All rights reserved.