如何计算特征值:: Tensor <T,2>中的非零数

时间:2019-07-26 03:15:16

标签: c++ eigen

如果我使用布尔张量的总和,则重用永远是1

Eigen::Tensor<int,2> my_rankx (3,3);
my_rankx.setValues(
{
    {1, 2, 3},
    {0, 0, 0},
    {11, 12, 0}
});

auto number_matrix = (my_rankx.constant(static_cast<int>(0))==my_rankx);
cout<<number_matrix.sum()<<endl; // result of cout is 1

1 个答案:

答案 0 :(得分:1)

user.action(my_rankx.constant(0) == my_rankx)的张量,将bool加在一起将得到boolfalse,将它们转换为{{1 }}和true。 (顺便提一下,问题中的0是多余的,因为1的类型为static_cast<int>(0)。)

您可以将std::countdata()一起使用:

0