我试图仅获取满足两个或多个 boolean 条件的矩阵的那些列。更具体地说,我试图根据对特征值的某些约束仅找到矩阵的那些特征向量。
在 python3.x 中我会这样做:
def get_special_vectors(A:np.ndarray,thresold1:float,thresold2:float) -> np.ndarray:
eigval, eigvec = np.linalg.eig(A)
eigvec = eigvec[:,np.array(eigval >= threshold1) & np.array(eigval <= thresold2)]
return eigvec
但是在 Julia 中,我关注 this发布,但我似乎弄乱了 AND (&) 运算符。我正在尝试以下导致 MethodError
的操作:
eigvec = eigvec[:,vec(evalA .< 1.0) & vec(evalA .> 0)]
如果有人可以分享任何有用的建议或任何类型的帮助,我会很高兴。提前致谢!
最佳答案
你还应该广播&
:
vec(evalA .< 1.0) .& vec(evalA .> 0)
我不能确定它是否能解决你的问题,因为你没有给出一个完整的例子
您可能还想查看 eachrow
和 eachcol
关于python - 在 Julia 中获取满足多个 boolean 值的矩阵的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66883355/