cheev_2stage.f

Section: LAPACK (3)
Updated: Tue Nov 14 2017
Page Index

cheev_2stage.f

SYNOPSIS

Functions/Subroutines

subroutine cheev_2stage (JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, INFO)
CHEEV_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices

Function/Subroutine Documentation

subroutine cheev_2stage (character JOBZ, character UPLO, integer N, complex, dimension( lda, * ) A, integer LDA, real, dimension( * ) W, complex, dimension( * ) WORK, integer LWORK, real, dimension( * ) RWORK, integer INFO)

CHEEV_2STAGE computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices

Purpose:

CHEEV_2STAGE computes all eigenvalues and, optionally, eigenvectors of a
complex Hermitian matrix A using the 2stage technique for
the reduction to tridiagonal.

Parameters:

JOBZ

JOBZ is CHARACTER*1
= 'N':  Compute eigenvalues only;
= 'V':  Compute eigenvalues and eigenvectors.
Not available in this release.

UPLO

UPLO is CHARACTER*1
= 'U':  Upper triangle of A is stored;
= 'L':  Lower triangle of A is stored.

N

N is INTEGER
The order of the matrix A.  N >= 0.

A

A is COMPLEX array, dimension (LDA, N)
On entry, the Hermitian matrix A.  If UPLO = 'U', the
leading N-by-N upper triangular part of A contains the
upper triangular part of the matrix A.  If UPLO = 'L',
the leading N-by-N lower triangular part of A contains
the lower triangular part of the matrix A.
On exit, if JOBZ = 'V', then if INFO = 0, A contains the
orthonormal eigenvectors of the matrix A.
If JOBZ = 'N', then on exit the lower triangle (if UPLO='L')
or the upper triangle (if UPLO='U') of A, including the
diagonal, is destroyed.

LDA

LDA is INTEGER
The leading dimension of the array A.  LDA >= max(1,N).

W

W is REAL array, dimension (N)
If INFO = 0, the eigenvalues in ascending order.

WORK

WORK is COMPLEX array, dimension (MAX(1,LWORK))
On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

LWORK

LWORK is INTEGER
The length of the array WORK. LWORK >= 1, when N <= 1;
otherwise
If JOBZ = 'N' and N > 1, LWORK must be queried.
LWORK = MAX(1, dimension) where
dimension = max(stage1,stage2) + (KD+1)*N + N
= N*KD + N*max(KD+1,FACTOPTNB)
+ (KD+1)*N + N
where KD is the blocking size of the reduction,
FACTOPTNB is the blocking used by the QR or LQ
algorithm, usually FACTOPTNB=128 is a good choice
openMP compilation is enabled, otherwise =1.
If JOBZ = 'V' and N > 1, LWORK must be queried. Not yet available

If LWORK = -1, then a workspace query is assumed; the routine
only calculates the optimal size of the WORK array, returns
this value as the first entry of the WORK array, and no error
message related to LWORK is issued by XERBLA.

RWORK

RWORK is REAL array, dimension (max(1, 3*N-2))

INFO

INFO is INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal value
> 0:  if INFO = i, the algorithm failed to converge; i
off-diagonal elements of an intermediate tridiagonal
form did not converge to zero.

Author:

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Date:

November 2017

Further Details:

All details about the 2stage techniques are available in:

Azzam Haidar, Hatem Ltaief, and Jack Dongarra.
Parallel reduction to condensed forms for symmetric eigenvalue problems
using aggregated fine-grained and memory-aware kernels. In Proceedings
of 2011 International Conference for High Performance Computing,
Networking, Storage and Analysis (SC '11), New York, NY, USA,
Article 8 , 11 pages.
http://doi.acm.org/10.1145/2063384.2063394

A. Haidar, J. Kurzak, P. Luszczek, 2013.
An improved parallel singular value algorithm and its implementation
for multicore hardware, In Proceedings of 2013 International Conference
for High Performance Computing, Networking, Storage and Analysis (SC '13).
Article 90, 12 pages.
http://doi.acm.org/10.1145/2503210.2503292

A. Haidar, R. Solca, S. Tomov, T. Schulthess and J. Dongarra.
A novel hybrid CPU-GPU generalized eigensolver for electronic structure
calculations based on fine-grained memory aware tasks.
International Journal of High Performance Computing Applications.
Volume 28 Issue 2, Pages 196-209, May 2014.
http://hpc.sagepub.com/content/28/2/196

Definition at line 191 of file cheev_2stage.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.