Tridiagonalization_decomposeInPlace.cpp
Go to the documentation of this file.
1 MatrixXd X = MatrixXd::Random(5,5);
2 MatrixXd A = X + X.transpose();
3 cout << "Here is a random symmetric 5x5 matrix:" << endl << A << endl << endl;
4 
5 VectorXd diag(5);
6 VectorXd subdiag(4);
7 VectorXd hcoeffs(4); // Scratch space for householder reflector.
8 VectorXd workspace(5);
9 internal::tridiagonalization_inplace(A, diag, subdiag, hcoeffs, workspace, true);
10 cout << "The orthogonal matrix Q is:" << endl << A << endl;
11 cout << "The diagonal of the tridiagonal matrix T is:" << endl << diag << endl;
12 cout << "The subdiagonal of the tridiagonal matrix T is:" << endl << subdiag << endl;
Matrix< double, Dynamic, 1 > VectorXd
DynamicĂ—1 vector of type double.
Definition: Matrix.h:502
Matrix< double, Dynamic, Dynamic > MatrixXd
DynamicĂ—Dynamic matrix of type double.
Definition: Matrix.h:502
void tridiagonalization_inplace(MatrixType &matA, CoeffVectorType &hCoeffs)