假设我有4个不变的矩阵,1个可变的矩阵:
Eigen::MatrixXf M,N,O,P; // Fixed
Eigen::MatrixXf Q; // Value changes
我有一个表达,我想评估:
auto myExpression = M*N*O*P*Q;
如果我要做以下事情:
for (int i = 0; i<5; ++i) {
Q = MatrixXf::Random(SomeSize,SomeSize);
MatrixXf result = myExpression.eval();
}
这会按预期工作吗?这意味着我从Q的新值得到了正确的结果?
答案 0 :(得分:1)
在Eigen 3.3中,答案是肯定的......除非你的表达涉及矩阵因子分解,如:
{{1}}
在Eigen 3.2中,您必须另外注意矩阵产品,因为这些产品会立即进行评估。