1
1
<?xml version="1.0" encoding="UTF-8"?>
2
2
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="dseupd" xml:lang="en">
4
<refname>dseupd</refname>
6
Interface for the Implicitly Restarted Arnoldi Iteration, to
7
compute approximations to the converged approximations to eigenvalues of
12
<title>Calling Sequence</title>
14
[D, Z, RESID, V, IPARAM, IPNTR, WORKD, WORKL, INFO] = dseupd(RVEC, HOWMANY, SELECT, D, Z, SIGMA, BMAT, N, WHICH,
15
NEV, TOL, RESID, NCV, V, IPARAM, IPNTR, WORKD, WORKL, INFO)
19
<title>Arguments</title>
24
<para>Integer. (INPUT) </para>
26
Specifies whether Ritz vectors corresponding to the Ritz value
27
approximations to the eigenproblem A * z = lambda * B * z are
32
<para>RVEC = 0 Compute Ritz values only.</para>
35
<para>RVEC = 1 Compute Ritz vectors.</para>
43
<para>Character*1. (INPUT) </para>
45
Specifies how many Ritz vectors are wanted and the form of Z
46
the matrix of Ritz vectors. See remark 1 below.
50
<para>'A': compute NEV Ritz vectors;</para>
54
'S': compute some of the Ritz vectors, specified by the
64
<para>Integer array of dimension NCV. (INPUT/WORKSPACE) </para>
66
If HOWMANY = 'S', SELECT specifies the Ritz vectors to be
67
computed. To select the Ritz vector corresponding to a Ritz value
68
D(j), SELECT(j) must be set to 1.
71
If HOWMANY = 'A' , SELECT is used as a workspace for
72
reordering the Ritz values.
79
<para>Double precision array of dimension NEV. (OUTPUT) </para>
81
On exit, D contains the Ritz value approximations to the
82
eigenvalues of A * z = lambda * B * z. The values are returned in
86
If IPARAM(7) = 3, 4, 5 then D represents the Ritz values of OP
87
computed by dsaupd transformed to those of the original eigensystem
88
A * z = lambda * B * z.
91
If IPARAM(7) = 1, 2 then the Ritz values of OP are the same as
92
the those of A * z = lambda * B * z.
99
<para>Double precision N by NEV array.</para>
101
If HOWMNY = 'A'. (OUTPUT) On exit, Z contains the
102
B-orthonormal Ritz vectors of the eigensystemA * z = lambda * B * z
103
corresponding to the Ritz value approximations.
105
<para>If RVEC = 0 then Z is not referenced. </para>
107
NOTE: The array Z may be set equal to first NEV columns of the
108
Arnoldi/Lanczos basis array V computed by DSAUPD .
115
<para>Double precision (INPUT) </para>
117
If IPARAM(7) = 3, 4, 5 represents the shift. Not referenced if
124
NOTE: The remaining arguments BMAT, N, WHICH, NEV, TOL, RESID, NCV,
125
V, IPARAM, IPNTR, WORKD, WORKL, LWORKL, INFO must be passed directly to
126
DSEUPD following the last call to DSAUPD .
129
These arguments MUST NOT BE MODIFIED between the last call to
130
DSAUPD and the call to DSEUPD.
133
Two of these parameters (WORKL, INFO) are also output
141
Double precision work array of length LWORKL.
145
WORKL(1:4*ncv) contains information obtained in dsaupd. They
146
are not changed by dseupd.
149
WORKL(4*ncv+1:ncv*ncv+8*ncv) holds the untransformed Ritz
150
values, the computed error estimates, and the associated eigenvector
154
Note: IPNTR(8:10) contains the pointer into WORKL for
155
addresses of the above information computed by dseupd .
160
IPNTR(8): pointer to the NCV RITZ values of the original
166
IPNTR(9): pointer to the NCV corresponding error bounds.
171
IPNTR(10): pointer to the NCV by NCV matrix of
172
eigenvectors of the tridiagonal matrix T. Only referenced by
173
dseupd if RVEC = 1 See Remarks.
182
<para>Integer. (OUTPUT) </para>
183
<para>Error flag on output.</para>
186
<para>0: Normal exit.</para>
189
<para>-1: N must be positive.</para>
192
<para>-2: NEV must be positive.</para>
196
-3: NCV must be greater than NEV and less than or equal to
202
-5: WHICH must be one of 'LM', 'SM', 'LA', 'SA' or
207
<para>-6: BMAT must be one of 'I' or 'G'.</para>
211
-7: Length of private work WORKL array is not
217
-8: Error return from trid. eigenvalue calculation;
218
Information error from LAPACK routine dsteqr.
222
<para>-9: Starting vector is zero.</para>
225
<para>-10: IPARAM(7) must be 1, 2, 3, 4, 5.</para>
228
<para>-11: IPARAM(7) = 1 and BMAT = 'G' are incompatible.</para>
231
<para>-12: NEV and WHICH = 'BE' are incompatible.</para>
235
-14: DSAUPD did not find any eigenvalues to sufficient
240
<para>-15: HOWMNY must be one of 'A' or 'S' if RVEC = 1.</para>
243
<para>-16: HOWMNY = 'S' not yet implemented.</para>
247
-17: DSEUPD got a different count of the number of
248
converged Ritz values than DSAUPD got. This indicates the user
249
probably made an error in passing data from DSAUPD to DSEUPD or
250
that the data was modified before entering DSEUPD.
259
<title>Description</title>
261
This subroutine returns the converged approximations to eigenvalues
262
of A * z = lambda * B * z and (optionally):
266
<para>the corresponding approximate eigenvectors,</para>
270
an orthonormal (Lanczos) basis for the associated approximate
279
There is negligible additional cost to obtain eigenvectors. An
280
orthonormal (Lanczos) basis is always computed. There is an additional
281
storage cost of n*nev if both are requested (in this case a separate array
285
These quantities are obtained from the Lanczos factorization
286
computed by DSAUPD for the linear operator OP prescribed by the MODE
287
selection (see IPARAM(7) in DSAUPD documentation.) DSAUPD must be called
288
before this routine is called.
291
These approximate eigenvalues and vectors are commonly called Ritz
292
values and Ritz vectors respectively. They are referred to as such in the
293
comments that follow.
296
The computed orthonormal basis for the invariant subspace
297
corresponding to these Ritz values is referred to as a Lanczos basis.
300
See documentation in the header of the subroutine DSAUPD for a
301
definition of OP as well as other terms and the relation of computed Ritz
302
values and vectors of OP with respect to the given problem A * z = lambda * B * z.
305
The approximate eigenvalues of the original problem are returned in
306
ascending algebraic order.
309
The user may elect to call this routine once for each desired Ritz
310
vector and store it peripherally if desired. There is also the option of
311
computing a selected set of these vectors with a single call.
315
<title>Remarks</title>
317
1. The converged Ritz values are always returned in increasing
318
(algebraic) order. c 2. Currently only HOWMNY = 'A' is implemented. It is
319
included at this stage for the user who wants to incorporate it.
323
<title>Example</title>
324
<programlisting role="example">
4
<refname>dseupd</refname>
6
Interface for the Implicitly Restarted Arnoldi Iteration, to
7
compute approximations to the converged approximations to eigenvalues of
10
This function is obsolete. Please use <link linkend="eigs">eigs</link>
15
<title>Calling Sequence</title>
17
[D, Z, RESID, V, IPARAM, IPNTR, WORKD, WORKL, INFO] = dseupd(RVEC, HOWMANY, SELECT, D, Z, SIGMA, BMAT, N, WHICH,
18
NEV, TOL, RESID, NCV, V, IPARAM, IPNTR, WORKD, WORKL, INFO)
22
<title>Arguments</title>
27
<para>Integer. (INPUT) </para>
29
Specifies whether Ritz vectors corresponding to the Ritz value
30
approximations to the eigenproblem A * z = lambda * B * z are
35
<para>RVEC = 0 Compute Ritz values only.</para>
38
<para>RVEC = 1 Compute Ritz vectors.</para>
46
<para>Character*1. (INPUT) </para>
48
Specifies how many Ritz vectors are wanted and the form of Z
49
the matrix of Ritz vectors. See remark 1 below.
53
<para>'A': compute NEV Ritz vectors;</para>
57
'S': compute some of the Ritz vectors, specified by the
67
<para>Integer array of dimension NCV. (INPUT/WORKSPACE) </para>
69
If HOWMANY = 'S', SELECT specifies the Ritz vectors to be
70
computed. To select the Ritz vector corresponding to a Ritz value
71
D(j), SELECT(j) must be set to 1.
74
If HOWMANY = 'A' , SELECT is used as a workspace for
75
reordering the Ritz values.
82
<para>Double precision array of dimension NEV. (OUTPUT) </para>
84
On exit, D contains the Ritz value approximations to the
85
eigenvalues of A * z = lambda * B * z. The values are returned in
89
If IPARAM(7) = 3, 4, 5 then D represents the Ritz values of OP
90
computed by dsaupd transformed to those of the original eigensystem
91
A * z = lambda * B * z.
94
If IPARAM(7) = 1, 2 then the Ritz values of OP are the same as
95
the those of A * z = lambda * B * z.
102
<para>Double precision N by NEV array.</para>
104
If HOWMNY = 'A'. (OUTPUT) On exit, Z contains the
105
B-orthonormal Ritz vectors of the eigensystemA * z = lambda * B * z
106
corresponding to the Ritz value approximations.
108
<para>If RVEC = 0 then Z is not referenced. </para>
110
NOTE: The array Z may be set equal to first NEV columns of the
111
Arnoldi/Lanczos basis array V computed by DSAUPD .
118
<para>Double precision (INPUT) </para>
120
If IPARAM(7) = 3, 4, 5 represents the shift. Not referenced if
127
NOTE: The remaining arguments BMAT, N, WHICH, NEV, TOL, RESID, NCV,
128
V, IPARAM, IPNTR, WORKD, WORKL, LWORKL, INFO must be passed directly to
129
DSEUPD following the last call to DSAUPD .
132
These arguments MUST NOT BE MODIFIED between the last call to
133
DSAUPD and the call to DSEUPD.
136
Two of these parameters (WORKL, INFO) are also output
144
Double precision work array of length LWORKL.
148
WORKL(1:4*ncv) contains information obtained in dsaupd. They
149
are not changed by dseupd.
152
WORKL(4*ncv+1:ncv*ncv+8*ncv) holds the untransformed Ritz
153
values, the computed error estimates, and the associated eigenvector
157
Note: IPNTR(8:10) contains the pointer into WORKL for
158
addresses of the above information computed by dseupd .
163
IPNTR(8): pointer to the NCV RITZ values of the original
169
IPNTR(9): pointer to the NCV corresponding error bounds.
174
IPNTR(10): pointer to the NCV by NCV matrix of
175
eigenvectors of the tridiagonal matrix T. Only referenced by
176
dseupd if RVEC = 1 See Remarks.
185
<para>Integer. (OUTPUT) </para>
186
<para>Error flag on output.</para>
189
<para>0: Normal exit.</para>
192
<para>-1: N must be positive.</para>
195
<para>-2: NEV must be positive.</para>
199
-3: NCV must be greater than NEV and less than or equal to
205
-5: WHICH must be one of 'LM', 'SM', 'LA', 'SA' or
210
<para>-6: BMAT must be one of 'I' or 'G'.</para>
214
-7: Length of private work WORKL array is not
220
-8: Error return from trid. eigenvalue calculation;
221
Information error from LAPACK routine dsteqr.
225
<para>-9: Starting vector is zero.</para>
228
<para>-10: IPARAM(7) must be 1, 2, 3, 4, 5.</para>
231
<para>-11: IPARAM(7) = 1 and BMAT = 'G' are incompatible.</para>
234
<para>-12: NEV and WHICH = 'BE' are incompatible.</para>
238
-14: DSAUPD did not find any eigenvalues to sufficient
243
<para>-15: HOWMNY must be one of 'A' or 'S' if RVEC = 1.</para>
246
<para>-16: HOWMNY = 'S' not yet implemented.</para>
250
-17: DSEUPD got a different count of the number of
251
converged Ritz values than DSAUPD got. This indicates the user
252
probably made an error in passing data from DSAUPD to DSEUPD or
253
that the data was modified before entering DSEUPD.
262
<title>Description</title>
264
This subroutine returns the converged approximations to eigenvalues
265
of A * z = lambda * B * z and (optionally):
269
<para>the corresponding approximate eigenvectors,</para>
273
an orthonormal (Lanczos) basis for the associated approximate
282
There is negligible additional cost to obtain eigenvectors. An
283
orthonormal (Lanczos) basis is always computed. There is an additional
284
storage cost of n*nev if both are requested (in this case a separate array
288
These quantities are obtained from the Lanczos factorization
289
computed by DSAUPD for the linear operator OP prescribed by the MODE
290
selection (see IPARAM(7) in DSAUPD documentation.) DSAUPD must be called
291
before this routine is called.
294
These approximate eigenvalues and vectors are commonly called Ritz
295
values and Ritz vectors respectively. They are referred to as such in the
296
comments that follow.
299
The computed orthonormal basis for the invariant subspace
300
corresponding to these Ritz values is referred to as a Lanczos basis.
303
See documentation in the header of the subroutine DSAUPD for a
304
definition of OP as well as other terms and the relation of computed Ritz
305
values and vectors of OP with respect to the given problem A * z = lambda * B * z.
308
The approximate eigenvalues of the original problem are returned in
309
ascending algebraic order.
312
The user may elect to call this routine once for each desired Ritz
313
vector and store it peripherally if desired. There is also the option of
314
computing a selected set of these vectors with a single call.
318
<title>Remarks</title>
320
1. The converged Ritz values are always returned in increasing
321
(algebraic) order. c 2. Currently only HOWMNY = 'A' is implemented. It is
322
included at this stage for the user who wants to incorporate it.
326
<title>Example</title>
327
<programlisting role="example">
327
330
// The following sets dimensions for this problem.