Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?stev

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

Syntax

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

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

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

Include Files

  • mkl.fi, lapack.f90

Description

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

Input Parameters

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:

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

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

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

The size of e must be at least max(1, n). 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, size (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.

LAPACK 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 LAPACK 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.