, Eigen3 ++. . , . Eigen , . Eigen , , ,
using namespace Eigen;
MatrixXd m(m,n);
...
(generate uppper triangular entries in m)
...
VectorXd r(n), p(n);
r = m.selfadjointView<Upper>() * p;
, :
#include <Eigen/Core>
using namespace std;
using namespace Eigen;
int main()
{
Matrix2d m,c;
m << 1, 2,
0, 1;
Vector2d x(0,2), r;
c = m.selfadjointView<Upper>();
cout << c << endl;
r = m.selfadjointView<Upper>() * x;
}
[1, 2, 2, 1].
r , c * x. , , .