LAPACK 3.12.0 LAPACK: Linear Algebra PACKage
Searching...
No Matches

## ◆ ilaenv2stage()

 integer function ilaenv2stage ( integer ispec, character*( * ) name, character*( * ) opts, integer n1, integer n2, integer n3, integer n4 )

ILAENV2STAGE

Download ILAENV2STAGE + dependencies [TGZ] [ZIP] [TXT]

Purpose:
``` ILAENV2STAGE is called from the LAPACK routines to choose problem-dependent
parameters for the local environment.  See ISPEC for a description of
the parameters.
It sets problem and machine dependent parameters useful for *_2STAGE and
related subroutines.

ILAENV2STAGE returns an INTEGER
if ILAENV2STAGE >= 0: ILAENV2STAGE returns the value of the parameter
specified by ISPEC
if ILAENV2STAGE < 0:  if ILAENV2STAGE = -k, the k-th argument had an
illegal value.

This version provides a set of parameters which should give good,
but not optimal, performance on many of the currently available
computers for the 2-stage solvers. Users are encouraged to modify this
subroutine to set the tuning parameters for their particular machine using
the option and problem size information in the arguments.

This routine will not function correctly if it is converted to all
lower case.  Converting it to all upper case is allowed.```
Parameters
 [in] ISPEC ``` ISPEC is INTEGER Specifies the parameter to be returned as the value of ILAENV2STAGE. = 1: the optimal blocksize nb for the reduction to BAND = 2: the optimal blocksize ib for the eigenvectors singular vectors update routine = 3: The length of the array that store the Housholder representation for the second stage Band to Tridiagonal or Bidiagonal = 4: The workspace needed for the routine in input. = 5: For future release.``` [in] NAME ``` NAME is CHARACTER*(*) The name of the calling subroutine, in either upper case or lower case.``` [in] OPTS ``` OPTS is CHARACTER*(*) The character options to the subroutine NAME, concatenated into a single character string. For example, UPLO = 'U', TRANS = 'T', and DIAG = 'N' for a triangular routine would be specified as OPTS = 'UTN'.``` [in] N1 ` N1 is INTEGER` [in] N2 ` N2 is INTEGER` [in] N3 ` N3 is INTEGER` [in] N4 ``` N4 is INTEGER Problem dimensions for the subroutine NAME; these may not all be required.```
Further Details:
```  The following conventions have been used when calling ILAENV2STAGE
from the LAPACK routines:
1)  OPTS is a concatenation of all of the character options to
subroutine NAME, in the same order that they appear in the
argument list for NAME, even if they are not used in determining
the value of the parameter specified by ISPEC.
2)  The problem dimensions N1, N2, N3, N4 are specified in the order
that they appear in the argument list for NAME.  N1 is used
first, N2 second, and so on, and unused problem dimensions are
passed a value of -1.
3)  The parameter value returned by ILAENV2STAGE is checked for validity in
the calling subroutine.```

Definition at line 148 of file ilaenv2stage.f.

149*
150* -- LAPACK auxiliary routine --
151* -- LAPACK is a software package provided by Univ. of Tennessee, --
152* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
153* July 2017
154*
155* .. Scalar Arguments ..
156 CHARACTER*( * ) NAME, OPTS
157 INTEGER ISPEC, N1, N2, N3, N4
158* ..
159*
160* =====================================================================
161* ..
162* .. Local Scalars ..
163 INTEGER IISPEC
164* ..
165* .. External Functions ..
166 INTEGER IPARAM2STAGE
167 EXTERNAL iparam2stage
168* ..
169* .. Executable Statements ..
170*
171 GO TO ( 10, 10, 10, 10, 10 )ispec
172*
173* Invalid value for ISPEC
174*
175 ilaenv2stage = -1
176 RETURN
177*
178 10 CONTINUE
179*
180* 2stage eigenvalues and SVD or related subroutines.
181*
182 iispec = 16 + ispec
183 ilaenv2stage = iparam2stage( iispec, name, opts,
184 \$ n1, n2, n3, n4 )
185 RETURN
186*
187* End of ILAENV2STAGE
188*
integer function ilaenv2stage(ispec, name, opts, n1, n2, n3, n4)
ILAENV2STAGE
integer function iparam2stage(ispec, name, opts, ni, nbi, ibi, nxi)
IPARAM2STAGE
Here is the call graph for this function:
Here is the caller graph for this function: