# lapeighvb¶

## Purpose¶

Computes eigenvalues and eigenvectors of a real symmetric or complex Hermitian matrix selected by bounds.

## Format¶

{ ve, va } = lapeighvb(x, vl, vu, abstol)
Parameters: x (NxN matrix) – real symmetric or complex Hermitian. vl (scalar) – lower bound of the interval to be searched for eigenvalues. vu (scalar) – upper bound of the interval to be searched for eigenvalues; vu must be greater than vl. abstol (scalar) – the absolute error tolerance for the eigenvalues. An approximate eigenvalue is accepted as converged when it is determined to lie in an interval $$[a, b]$$ of width less than or equal to $$abstol + EPS*max(|a|, |b|)$$, where EPS is machine precision. If abstol is less than or equal to zero, then $$EPS*||T||$$ will be used in its place, where T is the tridiagonal matrix obtained by reducing the input matrix to tridiagonal form. ve (Mx1 vector) – eigenvalues, where M is the number of eigenvalues on the half open interval $$[vl, vu]$$. If no eigenvalues are found then s is a scalar missing value. va (NxM matrix) – eigenvectors.

## Examples¶

// Assign x
x = { 5 2 1,
2 6 2,
1 2 9 };

// Set lower bound to be searched
vl = 5;

// Set upper bound to be searched
vu = 10;

// Find eigenvalues within the bounds of
// vl and vu and the corresponding
// eigenvectors
{ ve, va } = lapeighvb(x, vl, vu, 0);

print "Eigenvalues = " ve;
print "Eigenvectors = " va;

Eigenvalues =   6.0000
Eigenvectors =
-0.5774
-0.5774
0.5774


If you increase the value of vu to 12.

// Set lower bound to be searched
vl = 5;

// Set upper bound to be searched
vu = 12;

// Find eigenvalues within the bounds of
// vl and vu and the corresponding
// eigenvectors
{ ve, va } = lapeighvb(x, vl, vu, 0);

print "Eigenvalues = " ve;
print "Eigenvectors = " va;

Eigenvalues
6.0000
10.6056
Eigenvectors =
-0.5774   0.3197
-0.5774   0.4908
0.5774   0.8105


## Remarks¶

lapeighvb() computes eigenvalues and eigenvectors which are found on the half open interval $$[vl, vu]$$. lapeighvb() is based on the LAPACK drivers DSYEVX and ZHEEVX. Further documentation of these functions may be found in the LAPACK User’s Guide.