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.
      !>
      !>