23 #ifndef DIAGONALIZATION_H_INCLUDED 24 #define DIAGONALIZATION_H_INCLUDED 26 #ifndef COMPILE_32_BITS 27 #include <gsl/gsl_complex.h> 28 #include <gsl/gsl_matrix.h> 45 bool forceDeterminantZero =
false 51 bool forceDeterminantZero =
false 60 csl::vector_expr getEigenValues();
66 Expr getInvTransform();
70 void checkSquareHermitian();
72 void checkSpecialCases();
74 void diagonalizeNonHermitic();
76 void diagonalize_1x1();
78 void diagonalize_2x2();
80 void diagonalize_3x3();
83 double extractNumber(
const Expr& number);
85 #ifndef COMPILE_32_BITS 87 gsl_complex csl_to_gsl(
const Expr& csl_expr);
90 gsl_matrix_complex* csl_to_gsl(
const Matrix& csl_matrix);
93 Expr gsl_to_csl(gsl_complex gsl_expr);
96 Matrix gsl_to_csl(gsl_matrix_complex* gsl_matrix);
99 Matrix diagFromEigenValues(gsl_vector* eigenValues);
104 bool diagonalized =
false;
106 bool symbolic =
false;
108 bool forceDeterminantZero =
false;
Namespace for csl library.
Definition: abreviation.h:34
Definition: diagonalization.h:32
Definition: diagonalization.h:34
Definition: diagonalization.h:38
Objects handling vectors, matrices and higher-dimensional tensors.
Expression type/.
Definition: abstract.h:1573