?stev

Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix.

Syntax

FORTRAN 77:

call sstev(jobz, n, d, e, z, ldz, work, info)

call dstev(jobz, n, d, e, z, ldz, work, info)

Fortran 95:

call stev(d, e [,z] [,info])

C:

lapack_int LAPACKE_<?>stev( int matrix_order, char jobz, lapack_int n, <datatype>* d, <datatype>* e, <datatype>* z, lapack_int ldz );

Include Files

The FORTRAN 77 interfaces are specified in the mkl_lapack.fi and mkl_lapack.h include files, the Fortran 95 interfaces are specified in the lapack.f90 include file, and the C interfaces are specified in the mkl_lapacke.h include file.

Description

The routine computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A.

Input Parameters

The data types are given for the Fortran interface. A <datatype> placeholder, if present, is used for the C interface data types in the C interface section above. See C Interface Conventions for the C interface principal conventions and type definitions.

jobz

CHARACTER*1. Must be 'N' or 'V'.

If jobz = 'N', then only eigenvalues are computed.

If jobz = 'V', then eigenvalues and eigenvectors are computed.

n

INTEGER. The order of the matrix A (n 0).

d, e, work

REAL for sstev

DOUBLE PRECISION for dstev.

Arrays:

d(*) contains the n diagonal elements of the tridiagonal matrix A.

The dimension of d must be at least max(1, n).

e(*) contains the n-1 subdiagonal elements of the tridiagonal matrix A.

The dimension of e must be at least max(1, n-1). The n-th element of this array is used as workspace.

work(*) is a workspace array.

The dimension of work must be at least max(1, 2n-2).

If jobz = 'N', work is not referenced.

ldz

INTEGER. The leading dimension of the output array z; ldz 1. If jobz = 'V' then ldz max(1, n).

Output Parameters

d

On exit, if info = 0, contains the eigenvalues of the matrix A in ascending order.

z

REAL for sstev

DOUBLE PRECISION for dstev

Array, DIMENSION (ldz, *).

The second dimension of z must be at least max(1, n).

If jobz = 'V', then if info = 0, z contains the orthonormal eigenvectors of the matrix A, with the i-th column of z holding the eigenvector associated with the eigenvalue returned in d(i).

If job = 'N', then z is not referenced.

e

On exit, this array is overwritten with intermediate results.

info

INTEGER.

If info = 0, the execution is successful.

If info = -i, the i-th parameter had an illegal value.

If info = i, then the algorithm failed to converge;

i elements of e did not converge to zero.

Fortran 95 Interface Notes

Routines in Fortran 95 interface have fewer arguments in the calling sequence than their FORTRAN 77 counterparts. For general conventions applied to skip redundant or restorable arguments, see Fortran 95 Interface Conventions.

Specific details for the routine stev interface are the following:

d

Holds the vector of length n.

e

Holds the vector of length n.

z

Holds the matrix Z of size (n, n).

jobz

Restored based on the presence of the argument z as follows:

jobz = 'V', if z is present,

jobz = 'N', if z is omitted.


Submit feedback on this help topic

Copyright © 1994 - 2011, Intel Corporation. All rights reserved.