LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
Loading...
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.
!> 
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Nick R. Papior
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 146 of file ilaenv2stage.f.

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