gpt4 book ai didi

c++ - Armadillo 库 (C++) : find operation with sparse matrix (sp_mat class)

转载 作者:行者123 更新时间:2023-11-30 01:49:53 26 4
gpt4 key购买 nike

我正在尝试在稀疏矩阵(类 sp_mat) 的上下文中使用 armadillo查找运算符

它在全矩阵的上下文中工作正常;但是使用稀疏矩阵(下例中的 d1)

            mat  A  = randu<mat>(5,5);
mat B = randu<mat>(5,5);
uvec q2 = find(A != 0.5);

uvec q1 = find(d1 != -0.5); // d1 is a sparse matrix; ERROR REPORTED HERE

我收到以下错误:

Error   3   error C2678: binary '!=' : no operator found which takes a left-hand operand of type 'arma::sp_mat' (or there is no acceptable conversion)

有人可以建议我如何执行查找操作吗?

此外,是否有办法将稀疏矩阵(类 sp_mat)转换为全矩阵(类 mat)?我尝试使用“conv_to”但没有成功。

最佳答案

如何将稀疏矩阵转换为密集矩阵:

sp_mat A;
A.sprandu(20, 20, 0.1);

mat B(A);
B.print("B:");

mat 类的构造函数可以将稀疏矩阵作为输入,如 documentation 中所列.

关于c++ - Armadillo 库 (C++) : find operation with sparse matrix (sp_mat class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28319195/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com