Solves the generalized eigenproblem det(t A - s B) = 0. More...
Go to the source code of this file.
Functions | |
template<class T > | |
bool | vnl_generalized_schur (vnl_matrix< T > *A, vnl_matrix< T > *B, vnl_vector< T > *alphar, vnl_vector< T > *alphai, vnl_vector< T > *beta, vnl_matrix< T > *L, vnl_matrix< T > *R) |
For a real scalar type T, this function uses orthogonal matrices L, R to reduce the (square) matrices A, B to generalized (real) Schur form. | |
VCL_DEFINE_SPECIALIZATION bool | vnl_generalized_schur (vnl_matrix< double > *A, vnl_matrix< double > *B, vnl_vector< double > *alphar, vnl_vector< double > *alphai, vnl_vector< double > *beta, vnl_matrix< double > *L, vnl_matrix< double > *R) |
template<class T > | |
T | vnl_generalized_schur_convert_cast (double a) |
Solves the generalized eigenproblem det(t A - s B) = 0.
Definition in file vnl_generalized_schur.h.
bool vnl_generalized_schur | ( | vnl_matrix< T > * | A, |
vnl_matrix< T > * | B, | ||
vnl_vector< T > * | alphar, | ||
vnl_vector< T > * | alphai, | ||
vnl_vector< T > * | beta, | ||
vnl_matrix< T > * | L, | ||
vnl_matrix< T > * | R | ||
) | [inline] |
For a real scalar type T, this function uses orthogonal matrices L, R to reduce the (square) matrices A, B to generalized (real) Schur form.
This means that B is upper triangular and A is block upper triangular with blocks of size at most 2x2 such that the 2x2 blocks B corresponding to 2x2 blocks of A are diagonal. E.g.:
[ * * * * * ] [ * * * * ] A <- L^* A R = [ * * * * ] [ * * ] [ * * ] [ * * * * * ] [ * * * ] B <- L^* B R = [ * * * ] [ * ] [ * ]
In addition, the function computes the generalized eigenvalues (alphar(k) + i alphai(k) : beta(k) for k = 0, 1, 2,...
Definition at line 63 of file vnl_generalized_schur.h.
VCL_DEFINE_SPECIALIZATION bool vnl_generalized_schur | ( | vnl_matrix< double > * | A, |
vnl_matrix< double > * | B, | ||
vnl_vector< double > * | alphar, | ||
vnl_vector< double > * | alphai, | ||
vnl_vector< double > * | beta, | ||
vnl_matrix< double > * | L, | ||
vnl_matrix< double > * | R | ||
) |
Definition at line 19 of file vnl_generalized_schur.cxx.
T vnl_generalized_schur_convert_cast | ( | double | a | ) |
Definition at line 60 of file vnl_generalized_schur.h.