mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Extend documentation for HessenbergDecomposition.
This commit is contained in:
6
doc/snippets/HessenbergDecomposition_compute.cpp
Normal file
6
doc/snippets/HessenbergDecomposition_compute.cpp
Normal file
@@ -0,0 +1,6 @@
|
||||
MatrixXcf A = MatrixXcf::Random(4,4);
|
||||
HessenbergDecomposition<MatrixXcf> hd(4);
|
||||
hd.compute(A);
|
||||
cout << "The matrix H in the decomposition of A is:" << endl << hd.matrixH() << endl;
|
||||
hd.compute(2*A); // re-use hd to compute and store decomposition of 2A
|
||||
cout << "The matrix H in the decomposition of 2A is:" << endl << hd.matrixH() << endl;
|
||||
8
doc/snippets/HessenbergDecomposition_matrixH.cpp
Normal file
8
doc/snippets/HessenbergDecomposition_matrixH.cpp
Normal file
@@ -0,0 +1,8 @@
|
||||
Matrix4f A = MatrixXf::Random(4,4);
|
||||
cout << "Here is a random 4x4 matrix:" << endl << A << endl;
|
||||
HessenbergDecomposition<MatrixXf> hessOfA(A);
|
||||
MatrixXf H = hessOfA.matrixH();
|
||||
cout << "The Hessenberg matrix H is:" << endl << H << endl;
|
||||
MatrixXf Q = hessOfA.matrixQ();
|
||||
cout << "The orthogonal matrix Q is:" << endl << Q << endl;
|
||||
cout << "Q H Q^T is:" << endl << Q * H * Q.transpose() << endl;
|
||||
9
doc/snippets/HessenbergDecomposition_packedMatrix.cpp
Normal file
9
doc/snippets/HessenbergDecomposition_packedMatrix.cpp
Normal file
@@ -0,0 +1,9 @@
|
||||
Matrix4d A = Matrix4d::Random(4,4);
|
||||
cout << "Here is a random 4x4 matrix:" << endl << A << endl;
|
||||
HessenbergDecomposition<Matrix4d> hessOfA(A);
|
||||
Matrix4d pm = hessOfA.packedMatrix();
|
||||
cout << "The packed matrix M is:" << endl << pm << endl;
|
||||
cout << "The upper Hessenberg part corresponds to the matrix H, which is:"
|
||||
<< endl << hessOfA.matrixH() << endl;
|
||||
Vector3d hc = hessOfA.householderCoefficients();
|
||||
cout << "The vector of Householder coefficients is:" << endl << hc << endl;
|
||||
Reference in New Issue
Block a user