- D
- (
*input/output*)**REAL**array, shape with (**D**) , where is the order of .

On entry, the diagonal elements of the matrix .

On exit, the original contents of**D**possibly multiplied by a constant factor to avoid over/underflow in computing the eigenvalues. - E
- (
*input/output*)**REAL**array, shape with (**E**) .

On entry, the subdiagonal elements of in**E**to**E**.**E**need not be set.

On exit, the original contents of**E**possibly multiplied by a constant factor to avoid over/underflow in computing the eigenvalues. - W
- (
*output*)**REAL**array with .

The first**M**elements contain the selected eigenvalues in ascending order. - Z
*Optional*(*output*)**REAL**or**COMPLEX**array, shape with (**Z**,1) and (**Z**,2)**M**.

The first**M**columns of**Z**contain the orthonormal eigenvectors of corresponding to the selected eigenvalues, with the column of**Z**containing the eigenvector associated with the eigenvalue in**W**.

Note: The user must ensure that at least**M**columns are supplied in the array**Z**. When the exact value of**M**is not known in advance, an upper bound must be used. In all cases**M**.- VL,VU
*Optional*(*input*)**REAL**.

The lower and upper bounds of the interval to be searched for eigenvalues.**VL****VU**.

Default values:**VL**-**HUGE**(*wp*) and**VU****HUGE**(*wp*), where*wp*::=**KIND**(1.0)**KIND**(1.0D0).

Note: Neither**VL**nor**VU**may be present if**IL**and/or**IU**is present.- IL,IU
*Optional*(*input*)**INTEGER**.

The indices of the smallest and largest eigenvalues to be returned. The through eigenvalues will be found. .

Default values:**IL**and**IU**.

Note: Neither**IL**nor**IU**may be present if**VL**and/or**VU**is present.

Note: All eigenvalues are calculated if none of the arguments**VL**,**VU**,**IL**and**IU**are present.- M
*Optional*(*output*)**INTEGER**.

The total number of eigenvalues found. .

Note: If and are present then .- ISUPPZ
*Optional*(*output*) INTEGER array, shape with size(**ISUPPZ**) ,**M**).

The support of the eigenvectors in**A**, i.e., the indices indicating the nonzero elements. The eigenvector is nonzero only in elements**ISUPPZ**through**ISUPPZ**.- ABSTOL
*Optional*(*input*)**REAL**.

The absolute error tolerance for the eigenvalues. An approximate eigenvalue is accepted as converged when it is determined to lie in an interval of width less than or equal to

where*wp*is the working precision. If**ABSTOL**, then will be used in its place. Eigenvalues will be computed most accurately if**ABSTOL**is set to**LA_LAMCH**( 1.0_*wp*, 'Safe minimum'), not zero.

Default value: .

- INFO
*Optional*(*output*)**INTEGER**

If**INFO**is not present and an error occurs, then the program is terminated with an error message.