Generalized Eigenvalue Problem for Symmetric Matrices

The program calculates the eigenvalues λi and corresponding eigenvectors xi
for the generalized eigenvalue problem:

A x = λ B x.

Alternatively the standard eigenvalue problem

A x = λ x

can also be solved.

For the algorithms used here to work on the generalized eigenvalue problem is required that
B is positive definite or
B is regular and A is positive definite.






Application to natural frequencies of multi-mass oscillators

An application for the generalized eigenvalue problem is vibration analysis of dynamical systems with multiple degrees of freedom.
For dynamical systems with multiple degrees of freedom A is the stiffness matrix and B is the mass matrix.
B must be positive definite and matrix A must be positive semi-definite to give nonnegative values for the λi.

The eigenfrequencies ωi of the modes of vibration can be calculated by means of ωii1/2.
The eigenvectors describe the relative strength and direction of motion with which points of the system participate in the oscillation mode.

Transition from the general eigenvalue problem to the standard eigenvalue problem

If the symmetric matrix B is positive definite, it can be decomposed into a product of two regular matrices using the Cholesky method:
B = L LT.
L is a lower triangular matrix.
From the general eigenvalue problem
(A - λ B) x = 0
follows
(A - λ L LT) x = 0.
Multiplying this from the left by L-1, one obtains
(L-1A - λ LT) x = 0.
Now introduce a new vector y:
x = L-T y.
This, when inserted, yields because LTL-T = I:
(L-1AL-T - λ I) y = 0.
This is the standard eigenvalue problem for the matrix L-1AL-T.
It has the same eigenvalues ​​as the original general eigenvalue problem.
The standard eigenvalue problem is then solved using the cyclic Jacobi method.

Positive Definiteness

A matrix A is positive definite if for all vectors x0 the following holds:

xTAx > 0.

This is always true, for example, for all diagonal matrices with only positive diagonal elements.
Matrices in which each diagonal element is greater than the sum of the absolute values ​​of the remaining elements in the row are also positive definite.

more JavaScript applications