LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
ilaenv2stage.f
Go to the documentation of this file.
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*> \ingroup ilaenv2stage
126*
127*> \par Further Details:
128* =====================
129*>
130*> \verbatim
131*>
132*> The following conventions have been used when calling ILAENV2STAGE
133*> from the LAPACK routines:
134*> 1) OPTS is a concatenation of all of the character options to
135*> subroutine NAME, in the same order that they appear in the
136*> argument list for NAME, even if they are not used in determining
137*> the value of the parameter specified by ISPEC.
138*> 2) The problem dimensions N1, N2, N3, N4 are specified in the order
139*> that they appear in the argument list for NAME. N1 is used
140*> first, N2 second, and so on, and unused problem dimensions are
141*> passed a value of -1.
142*> 3) The parameter value returned by ILAENV2STAGE is checked for validity in
143*> the calling subroutine.
144*>
145*> \endverbatim
146*>
147* =====================================================================
148 INTEGER FUNCTION ilaenv2stage( ISPEC, NAME, OPTS, N1, N2, N3, N4 )
149*
150* -- LAPACK auxiliary routine --
151* -- LAPACK is a software package provided by Univ. of Tennessee, --
152* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
153* July 2017
154*
155* .. Scalar Arguments ..
156 CHARACTER*( * ) name, opts
157 INTEGER ispec, n1, n2, n3, n4
158* ..
159*
160* =====================================================================
161* ..
162* .. Local Scalars ..
163 INTEGER iispec
164* ..
165* .. External Functions ..
166 INTEGER iparam2stage
167 EXTERNAL iparam2stage
168* ..
169* .. Executable Statements ..
170*
171 GO TO ( 10, 10, 10, 10, 10 )ispec
172*
173* Invalid value for ISPEC
174*
175 ilaenv2stage = -1
176 RETURN
177*
178 10 CONTINUE
179*
180* 2stage eigenvalues and SVD or related subroutines.
181*
182 iispec = 16 + ispec
183 ilaenv2stage = iparam2stage( iispec, name, opts,
184 $ n1, n2, n3, n4 )
185 RETURN
186*
187* End of ILAENV2STAGE
188*
189 END
integer function ilaenv2stage(ispec, name, opts, n1, n2, n3, n4)
ILAENV2STAGE
integer function iparam2stage(ispec, name, opts, ni, nbi, ibi, nxi)
IPARAM2STAGE