You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

ilaenv2stage.f 5.8 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. *> \brief \b ILAENV2STAGE
  2. *
  3. * =========== DOCUMENTATION ===========
  4. *
  5. * Online html documentation available at
  6. * http://www.netlib.org/lapack/explore-html/
  7. *
  8. *> \htmlonly
  9. *> Download ILAENV2STAGE + dependencies
  10. *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/ilaenv2stage.f">
  11. *> [TGZ]</a>
  12. *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/ilaenv2stage.f">
  13. *> [ZIP]</a>
  14. *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ilaenv2stage.f">
  15. *> [TXT]</a>
  16. *> \endhtmlonly
  17. *
  18. * Definition:
  19. * ===========
  20. *
  21. * INTEGER FUNCTION ILAENV2STAGE( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
  22. *
  23. * .. Scalar Arguments ..
  24. * CHARACTER*( * ) NAME, OPTS
  25. * INTEGER ISPEC, N1, N2, N3, N4
  26. * ..
  27. *
  28. *
  29. *> \par Purpose:
  30. * =============
  31. *>
  32. *> \verbatim
  33. *>
  34. *> ILAENV2STAGE is called from the LAPACK routines to choose problem-dependent
  35. *> parameters for the local environment. See ISPEC for a description of
  36. *> the parameters.
  37. *> It sets problem and machine dependent parameters useful for *_2STAGE and
  38. *> related subroutines.
  39. *>
  40. *> ILAENV2STAGE returns an INTEGER
  41. *> if ILAENV2STAGE >= 0: ILAENV2STAGE returns the value of the parameter
  42. *> specified by ISPEC
  43. *> if ILAENV2STAGE < 0: if ILAENV2STAGE = -k, the k-th argument had an
  44. *> illegal value.
  45. *>
  46. *> This version provides a set of parameters which should give good,
  47. *> but not optimal, performance on many of the currently available
  48. *> computers for the 2-stage solvers. Users are encouraged to modify this
  49. *> subroutine to set the tuning parameters for their particular machine using
  50. *> the option and problem size information in the arguments.
  51. *>
  52. *> This routine will not function correctly if it is converted to all
  53. *> lower case. Converting it to all upper case is allowed.
  54. *> \endverbatim
  55. *
  56. * Arguments:
  57. * ==========
  58. *
  59. *> \param[in] ISPEC
  60. *> \verbatim
  61. *> ISPEC is INTEGER
  62. *> Specifies the parameter to be returned as the value of
  63. *> ILAENV2STAGE.
  64. *> = 1: the optimal blocksize nb for the reduction to BAND
  65. *>
  66. *> = 2: the optimal blocksize ib for the eigenvectors
  67. *> singular vectors update routine
  68. *>
  69. *> = 3: The length of the array that store the Housholder
  70. *> representation for the second stage
  71. *> Band to Tridiagonal or Bidiagonal
  72. *>
  73. *> = 4: The workspace needed for the routine in input.
  74. *>
  75. *> = 5: For future release.
  76. *> \endverbatim
  77. *>
  78. *> \param[in] NAME
  79. *> \verbatim
  80. *> NAME is CHARACTER*(*)
  81. *> The name of the calling subroutine, in either upper case or
  82. *> lower case.
  83. *> \endverbatim
  84. *>
  85. *> \param[in] OPTS
  86. *> \verbatim
  87. *> OPTS is CHARACTER*(*)
  88. *> The character options to the subroutine NAME, concatenated
  89. *> into a single character string. For example, UPLO = 'U',
  90. *> TRANS = 'T', and DIAG = 'N' for a triangular routine would
  91. *> be specified as OPTS = 'UTN'.
  92. *> \endverbatim
  93. *>
  94. *> \param[in] N1
  95. *> \verbatim
  96. *> N1 is INTEGER
  97. *> \endverbatim
  98. *>
  99. *> \param[in] N2
  100. *> \verbatim
  101. *> N2 is INTEGER
  102. *> \endverbatim
  103. *>
  104. *> \param[in] N3
  105. *> \verbatim
  106. *> N3 is INTEGER
  107. *> \endverbatim
  108. *>
  109. *> \param[in] N4
  110. *> \verbatim
  111. *> N4 is INTEGER
  112. *> Problem dimensions for the subroutine NAME; these may not all
  113. *> be required.
  114. *> \endverbatim
  115. *
  116. * Authors:
  117. * ========
  118. *
  119. *> \author Univ. of Tennessee
  120. *> \author Univ. of California Berkeley
  121. *> \author Univ. of Colorado Denver
  122. *> \author NAG Ltd.
  123. *> \author Nick R. Papior
  124. *
  125. *> \date July 2017
  126. *
  127. *> \ingroup OTHERauxiliary
  128. *
  129. *> \par Further Details:
  130. * =====================
  131. *>
  132. *> \verbatim
  133. *>
  134. *> The following conventions have been used when calling ILAENV2STAGE
  135. *> from the LAPACK routines:
  136. *> 1) OPTS is a concatenation of all of the character options to
  137. *> subroutine NAME, in the same order that they appear in the
  138. *> argument list for NAME, even if they are not used in determining
  139. *> the value of the parameter specified by ISPEC.
  140. *> 2) The problem dimensions N1, N2, N3, N4 are specified in the order
  141. *> that they appear in the argument list for NAME. N1 is used
  142. *> first, N2 second, and so on, and unused problem dimensions are
  143. *> passed a value of -1.
  144. *> 3) The parameter value returned by ILAENV2STAGE is checked for validity in
  145. *> the calling subroutine.
  146. *>
  147. *> \endverbatim
  148. *>
  149. * =====================================================================
  150. INTEGER FUNCTION ILAENV2STAGE( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
  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. *
  191. END