【发布时间】:2018-08-15 20:23:59
【问题描述】:
我正在尝试解决如下所示的优化问题。但每次我收到错误Cannot cast array data from dtype('complex128') to dtype('float64') according to the rule 'safe'。
谁能帮我看看代码中有什么问题?
def func(vec):
linspec = -(kx**2)+((1.-nu)*(kx**4))
lin = linspec*np.fft.fft(vec)
nlin = np.zeros_like(lin)
nlinre = vec*vec
nlinspec = np.fft.fft(nlinre)
nlin = (0.5*1j*kx*nlinspec)
sol = lin+nlin
rhs = np.zeros_like(sol, dtype='complex')
sol -= rhs
sol = np.fft.ifft(sol).real
return sol
def kssol(u0):
u1 = np.ones((2*Mx,), dtype='complex')
#u1 = 100.*u0
u = scipy.optimize.fsolve(func, u1)
return u
【问题讨论】:
标签: python numpy optimization scipy complex-numbers