gpt4 book ai didi

c++ - Armadillo C++ : Efficient and concise way to multiply every row of a matrix by a vector?

转载 作者:可可西里 更新时间:2023-11-01 17:54:33 25 4
gpt4 key购买 nike

我想知道是否有一种高效简洁的方法来对 Armadillo C++ 矩阵的每一行(或列)与 vector 进行逐元素乘法。行(或列)和 vector 大小相同。

例如,如果 fmat::each_row()(和/或 each_col())可以用作右值,我想要这样的东西来编译(目前它不会编译):

#include <armadillo>

int main()
{
using namespace arma;

fmat m(20, 10);
fvec v(10); // a column vector

m.each_row() % v.t(); // Currently a compiler error.

return 0;
}

最佳答案

从 Armadillo 5.6 版开始,.each_col().each_row() 方法被扩展以处理异地操作。因此,您建议的方法

m.each_row() % v.t();

应该编译,见http://arma.sourceforge.net/docs.html#each_colrow .

关于c++ - Armadillo C++ : Efficient and concise way to multiply every row of a matrix by a vector?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21889566/

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