Function util::diagmat¶
Defined in File util.h
Function Documentation¶
-
void util::diagmat(std::vector<std::vector<double>> &mat, std::vector<std::vector<double>> &S, std::array<double, 3> &eigval, int maxcyc = 200, double thres = 1e-9)¶
Diagonalize a symmetric matrix using the Jacobi method.
- Parameters:
mat – Input matrix (will be modified to diagonal form).
S – Output eigenvector matrix (columns are eigenvectors).
eigval – Output eigenvalue vector.
maxcyc – Maximum number of cycles (default: 200).
thres – Convergence threshold (default: 1e-9).