我得到了一个交感数组
sympyarray = Matrix([[2/(dx**2*(exp(I*theta) + 1)), -2*exp(-I*theta)/dx**2, 2*exp(-I*theta)/(dx**2*(exp(I*theta) + 1))]])并希望将其转换为numpy数组。
numpyarray=np.array([2/(dx**2*(np.exp(1j*theta) + 1)), -2*np.exp(-1j*theta)/dx**2, 2*np.exp(-1j*theta)/(dx**2*(np.exp(1j*theta) + 1))])想知道有什么好办法吗?
到目前为止,我的方法如下:
这肯定是更简单的方法吗?
注:据我所知,lambdify不是这里的答案。当我阅读文档时,lambdify将交感表达式转换为需要数字输入的函数?还是我离得太远了?
发布于 2016-08-04 19:10:54
使用lambdify
In [10]: expr = Matrix([[2/(dx**2*(exp(I*theta) + 1)), -2*exp(-I*theta)/dx**2, 2*exp(-I*theta)/(dx**2*(exp(I*theta) + 1))]])
In [12]: f = lambdify([dx, theta], expr, 'numpy')
In [15]: f(np.array([1], dtype=complex), np.array([np.pi], dtype=complex))
Out[15]:
array([[[ 0. -1.63312394e+16j],
[ 2. +2.44929360e-16j],
[-2. +1.63312394e+16j]]])https://stackoverflow.com/questions/38749771
复制相似问题