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.

xlaenv.f 3.6 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. *> \brief \b XLAENV
  2. *
  3. * =========== DOCUMENTATION ===========
  4. *
  5. * Online html documentation available at
  6. * http://www.netlib.org/lapack/explore-html/
  7. *
  8. * Definition:
  9. * ===========
  10. *
  11. * SUBROUTINE XLAENV( ISPEC, NVALUE )
  12. *
  13. * .. Scalar Arguments ..
  14. * INTEGER ISPEC, NVALUE
  15. * ..
  16. *
  17. *
  18. *> \par Purpose:
  19. * =============
  20. *>
  21. *> \verbatim
  22. *>
  23. *> XLAENV sets certain machine- and problem-dependent quantities
  24. *> which will later be retrieved by ILAENV.
  25. *> \endverbatim
  26. *
  27. * Arguments:
  28. * ==========
  29. *
  30. *> \param[in] ISPEC
  31. *> \verbatim
  32. *> ISPEC is INTEGER
  33. *> Specifies the parameter to be set in the COMMON array IPARMS.
  34. *> = 1: the optimal blocksize; if this value is 1, an unblocked
  35. *> algorithm will give the best performance.
  36. *> = 2: the minimum block size for which the block routine
  37. *> should be used; if the usable block size is less than
  38. *> this value, an unblocked routine should be used.
  39. *> = 3: the crossover point (in a block routine, for N less
  40. *> than this value, an unblocked routine should be used)
  41. *> = 4: the number of shifts, used in the nonsymmetric
  42. *> eigenvalue routines
  43. *> = 5: the minimum column dimension for blocking to be used;
  44. *> rectangular blocks must have dimension at least k by m,
  45. *> where k is given by ILAENV(2,...) and m by ILAENV(5,...)
  46. *> = 6: the crossover point for the SVD (when reducing an m by n
  47. *> matrix to bidiagonal form, if max(m,n)/min(m,n) exceeds
  48. *> this value, a QR factorization is used first to reduce
  49. *> the matrix to a triangular form)
  50. *> = 7: the number of processors
  51. *> = 8: another crossover point, for the multishift QR and QZ
  52. *> methods for nonsymmetric eigenvalue problems.
  53. *> = 9: maximum size of the subproblems at the bottom of the
  54. *> computation tree in the divide-and-conquer algorithm
  55. *> (used by xGELSD and xGESDD)
  56. *> =10: ieee NaN arithmetic can be trusted not to trap
  57. *> =11: infinity arithmetic can be trusted not to trap
  58. *> 12 <= ISPEC <= 16:
  59. *> xHSEQR or one of its subroutines,
  60. *> see IPARMQ for detailed explanation
  61. *> \endverbatim
  62. *>
  63. *> \param[in] NVALUE
  64. *> \verbatim
  65. *> NVALUE is INTEGER
  66. *> The value of the parameter specified by ISPEC.
  67. *> \endverbatim
  68. *
  69. * Authors:
  70. * ========
  71. *
  72. *> \author Univ. of Tennessee
  73. *> \author Univ. of California Berkeley
  74. *> \author Univ. of Colorado Denver
  75. *> \author NAG Ltd.
  76. *
  77. *> \ingroup aux_eig
  78. *
  79. * =====================================================================
  80. SUBROUTINE XLAENV( ISPEC, NVALUE )
  81. *
  82. * -- LAPACK test routine --
  83. * -- LAPACK is a software package provided by Univ. of Tennessee, --
  84. * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
  85. *
  86. * .. Scalar Arguments ..
  87. INTEGER ISPEC, NVALUE
  88. * ..
  89. *
  90. * =====================================================================
  91. *
  92. * .. Arrays in Common ..
  93. INTEGER IPARMS( 100 )
  94. * ..
  95. * .. Common blocks ..
  96. COMMON / CLAENV / IPARMS
  97. * ..
  98. * .. Save statement ..
  99. SAVE / CLAENV /
  100. * ..
  101. * .. Executable Statements ..
  102. *
  103. IF( ISPEC.GE.1 .AND. ISPEC.LE.16 ) THEN
  104. IPARMS( ISPEC ) = NVALUE
  105. END IF
  106. *
  107. RETURN
  108. *
  109. * End of XLAENV
  110. *
  111. END