1 MatrixXcd X
= MatrixXcd::Random(4,4);
2 MatrixXcd A
= X
+ X
.adjoint();
3 cout
<< "Here is a random self-adjoint 4x4 matrix:" << endl
<< A
<< endl
<< endl
;
5 Tridiagonalization
<MatrixXcd
> triOfA(A
);
6 MatrixXd T
= triOfA
.matrixT();
7 cout
<< "The tridiagonal matrix T is:" << endl
<< T
<< endl
<< endl
;
9 cout
<< "We can also extract the diagonals of T directly ..." << endl
;
10 VectorXd diag
= triOfA
.diagonal();
11 cout
<< "The diagonal is:" << endl
<< diag
<< endl
;
12 VectorXd subdiag
= triOfA
.subDiagonal();
13 cout
<< "The subdiagonal is:" << endl
<< subdiag
<< endl
;