Eigen (C++) 中矩阵的对角线部分和分段 square/multiplication
Diagonal part of matrix and piece-wise square/multiplication in Eigen (C++)
设A为nxn实数矩阵。我想获取 A 的对角线部分并将其分配给 Eigen::VectorXd
向量。下面,我想取 A 的对角线部分并将其分配给向量 d:
Eigen::MatrixXd A(n,n);
A.setRandom();
Eigen::VectorXd d(n);
d.setZero();
Eigen
是否提供了上述操作的一些方法,还是需要我手动实现?这当然很简单,但我希望它尽快运行。
从文档的 this section 中,您可以简单地使用
检索对角线
vec1 = mat1.diagonal();
文档还提到了一个 const
版本,所以你可以推断这也可以用作读写访问。
设A为nxn实数矩阵。我想获取 A 的对角线部分并将其分配给 Eigen::VectorXd
向量。下面,我想取 A 的对角线部分并将其分配给向量 d:
Eigen::MatrixXd A(n,n);
A.setRandom();
Eigen::VectorXd d(n);
d.setZero();
Eigen
是否提供了上述操作的一些方法,还是需要我手动实现?这当然很简单,但我希望它尽快运行。
从文档的 this section 中,您可以简单地使用
检索对角线vec1 = mat1.diagonal();
文档还提到了一个 const
版本,所以你可以推断这也可以用作读写访问。