LAPACK  3.8.0
LAPACK: Linear Algebra PACKage

◆ 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  if ILAENV2STAGE < 0:  if ILAENV2STAGE = -k, the k-th argument had an 
 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
Date
July 2017
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 151 of file ilaenv2stage.f.

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