- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 scipy.sparse.linalg.eigsh固定种子。
为此,我需要指定 v0 参数。但是,我无法弄清楚 v0 中到底需要什么,因为这里的文档非常少(它只是说 numpy.ndarray)并且错误消息对我来说没有信息。
代码:
import numpy as np
import scipy.sparse.linalg
A = scipy.sparse.rand(10,10)
# v0 = np.random.rand(10,10)
v0 = np.random.rand(10,5)
w, v = scipy.sparse.linalg.eigsh(A, k=5, v0=v0)
错误:
error: failed in converting 10th argument `workd' of _arpack.dsaupd to C/Fortran array
最佳答案
首先,文档在任何地方都没有提到参数 v0
必须对种子做任何事情。它说
v0 : ndarray, optional Starting vector for iteration. Default: random
根据我对初始向量的天真理解,当它开始寻找 特征值 和 特征向量 时,它将此参数 v0
作为初始向量从开始,现在到 seed
的事情,我们使用 seed
来修复为这些向量生成的数字。所以你的问题真的没有意义。即使你运行这个程序,你也会得到不同的结果,为了避免我们使用 seed
来使结果可重现。
同样,我在这里可能是错的。
其次,如果您想为您的方法修复种子,我建议使用 numpy
来修复种子,因为 scipy
使用 numpy
生成随机数数。
所以代码看起来像这样
import numpy as np
np.random.seed(seed= 13)
然后如果参数 v0
是种子你可以完全避免它
w, v = scipy.sparse.linalg.eigsh(A, k=5)
同样,我本可以将其发布在评论中,但最好还是添加一些代码来阐明您的观点。
附言
我可能误解了你的问题,如果是这样,请随时投反对票。
关于python - 带有固定种子的 scipy.sparse.linalg.eigsh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52386942/
我尝试使用 SciPy 函数 linalg.eigsh 来计算矩阵的一些特征值和特征向量。但是,当我打印计算出的特征向量时,它们的维度与我想要计算的特征值的数量相同。难道它不应该给我实际的特征向量,其
我正在尝试使用 NumPy/SciPy 为更大(但仍然易于处理)的系统编写谱聚类算法,利用 SciPy 的稀疏线性代数库。不幸的是,我遇到了 eigsh() 的稳定性问题. 这是我的代码: impor
我正在使用 linalg.eigsh 文档页面上的示例代码,here : import scipy.sparse.linalg as sp import numpy as np id = np.eye
我正在尝试使用 scipy.sparse.linalg.eigsh固定种子。 为此,我需要指定 v0 参数。但是,我无法弄清楚 v0 中到底需要什么,因为这里的文档非常少(它只是说 numpy.nda
以下使用稀疏和普通 linalg 库中的 eigh 和 eigsh 不应该给出相同的答案吗? from numpy import random from scipy.linalg import eig
在 scipy 的 ARPACK 绑定(bind)中,无法计算矩阵的所有特征值。但是,我发现 eigsh 能够计算 n - 1 个特征值,而 eigs 只能计算 n - 2 个特征值。谁能证实这实际上
为什么下面使用的 scipy.sparse.linalg 中的 eigh 和 eigsh 在求解广义特征值问题 A * x = lambda * M * x 时给出不正确的结果,如果 M 是非对角线的
我正在使用 scipy.sparse.linalg.eigsh() 来解决广义特征值问题。我想使用 eigsh() 因为我正在操作一些大型稀疏矩阵。问题是我无法得到正确的答案,并且 eigsh() 输
我是一名优秀的程序员,十分优秀!