python - 将来自 linalg.eig 的复杂特征向量存储到 Python 中的数组中
问题描述
我在存储numpy.linalg.eig()
. 我想将其存储到两个不同的数组中。这是我尝试过的方式:
vec1 = np.zeros(y.shape[0],dtype=complex)
vec2 = np.zeros(y.shape[0],dtype=complex)
for i in np.arange(y.shape[0]):
val,vec= np.linalg.eig(rho_t[:,:,i])
vec1[i] = vec[0]
vec2[i] = vec[1]
错误消息如下:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-389-791a7e5e4801> in <module>
3 for i in np.arange(y.shape[0]):
4 val,vec= np.linalg.eig(rho_t[:,:,i])
----> 5 vec1[i] = vec[0]
6 vec2[i] = vec[1]
7 #vec2[i] = np.array(sol[1][1])
TypeError: only length-1 arrays can be converted to Python scalars
不知道是什么问题,有人可以帮助我吗
解决方案
根据文档:https ://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.eig.html
归一化(单位“长度”)特征向量,使得列 v[:,i] 是对应于特征值 w[i] 的特征向量。
所以也许解决方案是这样的:
for i in np.arange(y.shape[0]):
val,vec= np.linalg.eig(rho_t[:,:,i])
vec1[i] = vec[:,0]
vec2[i] = vec[:,1]
推荐阅读
- kubernetes - 部署的端口未在 nexus 的 kubernetes 中暴露
- tags - Terraform 附加标签
- fiware-orion - 使用 ssh 在 FIWARE Lab 上访问 orion-psb-image-R5.4 时出现问题
- django - Docker Django 映像正在运行但在 localhost 上找不到
- swift - 精灵节点相位
- html - 如何将 .txt 文件加载到单独的 .html 文件中?C++
- javascript - 使用 Husky 设置 pre-push hook 以防止推送到 master 分支
- javascript - 将 Google Apps 脚本嵌入 Google 网站时如何传递参数 allow="geolocation"?
- ios - 核心数据 context.save() 仅插入托管对象 (ios)
- keras - keras中的自定义层没有做任何事情