The generalized symmetric positive-definite eigenvalue problem is one of the following eigenproblems:
Ax = λBxwhere A is a symmetric matrix, and B is a symmetric positive-definite matrix.
It is obvious that this problem is easily reduced to the problem of finding eigenvalues for a non-symmetric general matrix (we can perform this reduction by multiplying both sides of the system by B-1 in the first case, and by multiplying together matrices A and B in the second and the third cases). However, the non-symmetric eigenvalue problem is much more complex, therefore it is reasonable to find a more effective way of solving the generalized symmetric problem. For instance, we can reduce this problem to a classic symmetric problem by using the Cholesky decomposition of matrix B (the example below applies to the first problem).
Ax = λBxso we get the following problem:
Cy = λyThe eigenvalues for both problems are the same, the eigenvectors for the initial problem could be found by solving a system of linear equations with a triangular matrix. Similar transformations could be performed for two other generalized problems.
This module contains two subroutines for solving a generalized symmetric positive-definite eigenvalue problem. The first subroutine, SMatrixGEVDReduce, performs the reduction of the problem to a classic symmetric problem. It returns matrices C (problem matrix) and R (triangular matrix which is used to find the eigenvectors). The second subroutine, SMatrixGEVD, uses the first one to solve a generalized problem. It calls all the necessary subroutines by itself and transforms the obtained vectors.
This article is licensed for personal use only.
ALGLIB Project offers you two editions of ALGLIB:
ALGLIB Free Edition:
+delivered for free
+offers full set of numerical functionality
+extensive algorithmic optimizations
-no multithreading
-non-commercial license
ALGLIB Commercial Edition:
+flexible pricing
+offers full set of numerical functionality
+extensive algorithmic optimizations
+high performance (SMP, SIMD)
+commercial license with support plan
Links to download sections for Free and Commercial editions can be found below: