Mercurial > octave
annotate libcruft/arpack/src/cnaupd.f @ 12274:9f5d2ef078e8 release-3-4-x
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 28 Jan 2011 14:04:33 -0500 |
parents | |
children |
rev | line source |
---|---|
12274
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
1 c\BeginDoc |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
2 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
3 c\Name: cnaupd |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
4 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
5 c\Description: |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
6 c Reverse communication interface for the Implicitly Restarted Arnoldi |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
7 c iteration. This is intended to be used to find a few eigenpairs of a |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
8 c complex linear operator OP with respect to a semi-inner product defined |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
9 c by a hermitian positive semi-definite real matrix B. B may be the identity |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
10 c matrix. NOTE: if both OP and B are real, then ssaupd or snaupd should |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
11 c be used. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
12 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
13 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
14 c The computed approximate eigenvalues are called Ritz values and |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
15 c the corresponding approximate eigenvectors are called Ritz vectors. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
16 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
17 c cnaupd is usually called iteratively to solve one of the |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
18 c following problems: |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
19 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
20 c Mode 1: A*x = lambda*x. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
21 c ===> OP = A and B = I. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
22 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
23 c Mode 2: A*x = lambda*M*x, M hermitian positive definite |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
24 c ===> OP = inv[M]*A and B = M. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
25 c ===> (If M can be factored see remark 3 below) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
26 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
27 c Mode 3: A*x = lambda*M*x, M hermitian semi-definite |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
28 c ===> OP = inv[A - sigma*M]*M and B = M. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
29 c ===> shift-and-invert mode |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
30 c If OP*x = amu*x, then lambda = sigma + 1/amu. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
31 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
32 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
33 c NOTE: The action of w <- inv[A - sigma*M]*v or w <- inv[M]*v |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
34 c should be accomplished either by a direct method |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
35 c using a sparse matrix factorization and solving |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
36 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
37 c [A - sigma*M]*w = v or M*w = v, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
38 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
39 c or through an iterative method for solving these |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
40 c systems. If an iterative method is used, the |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
41 c convergence test must be more stringent than |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
42 c the accuracy requirements for the eigenvalue |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
43 c approximations. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
44 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
45 c\Usage: |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
46 c call cnaupd |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
47 c ( IDO, BMAT, N, WHICH, NEV, TOL, RESID, NCV, V, LDV, IPARAM, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
48 c IPNTR, WORKD, WORKL, LWORKL, RWORK, INFO ) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
49 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
50 c\Arguments |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
51 c IDO Integer. (INPUT/OUTPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
52 c Reverse communication flag. IDO must be zero on the first |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
53 c call to cnaupd. IDO will be set internally to |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
54 c indicate the type of operation to be performed. Control is |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
55 c then given back to the calling routine which has the |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
56 c responsibility to carry out the requested operation and call |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
57 c cnaupd with the result. The operand is given in |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
58 c WORKD(IPNTR(1)), the result must be put in WORKD(IPNTR(2)). |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
59 c ------------------------------------------------------------- |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
60 c IDO = 0: first call to the reverse communication interface |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
61 c IDO = -1: compute Y = OP * X where |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
62 c IPNTR(1) is the pointer into WORKD for X, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
63 c IPNTR(2) is the pointer into WORKD for Y. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
64 c This is for the initialization phase to force the |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
65 c starting vector into the range of OP. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
66 c IDO = 1: compute Y = OP * X where |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
67 c IPNTR(1) is the pointer into WORKD for X, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
68 c IPNTR(2) is the pointer into WORKD for Y. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
69 c In mode 3, the vector B * X is already |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
70 c available in WORKD(ipntr(3)). It does not |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
71 c need to be recomputed in forming OP * X. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
72 c IDO = 2: compute Y = M * X where |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
73 c IPNTR(1) is the pointer into WORKD for X, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
74 c IPNTR(2) is the pointer into WORKD for Y. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
75 c IDO = 3: compute and return the shifts in the first |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
76 c NP locations of WORKL. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
77 c IDO = 99: done |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
78 c ------------------------------------------------------------- |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
79 c After the initialization phase, when the routine is used in |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
80 c the "shift-and-invert" mode, the vector M * X is already |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
81 c available and does not need to be recomputed in forming OP*X. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
82 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
83 c BMAT Character*1. (INPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
84 c BMAT specifies the type of the matrix B that defines the |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
85 c semi-inner product for the operator OP. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
86 c BMAT = 'I' -> standard eigenvalue problem A*x = lambda*x |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
87 c BMAT = 'G' -> generalized eigenvalue problem A*x = lambda*M*x |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
88 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
89 c N Integer. (INPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
90 c Dimension of the eigenproblem. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
91 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
92 c WHICH Character*2. (INPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
93 c 'LM' -> want the NEV eigenvalues of largest magnitude. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
94 c 'SM' -> want the NEV eigenvalues of smallest magnitude. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
95 c 'LR' -> want the NEV eigenvalues of largest real part. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
96 c 'SR' -> want the NEV eigenvalues of smallest real part. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
97 c 'LI' -> want the NEV eigenvalues of largest imaginary part. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
98 c 'SI' -> want the NEV eigenvalues of smallest imaginary part. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
99 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
100 c NEV Integer. (INPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
101 c Number of eigenvalues of OP to be computed. 0 < NEV < N-1. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
102 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
103 c TOL Real scalar. (INPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
104 c Stopping criteria: the relative accuracy of the Ritz value |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
105 c is considered acceptable if BOUNDS(I) .LE. TOL*ABS(RITZ(I)) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
106 c where ABS(RITZ(I)) is the magnitude when RITZ(I) is complex. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
107 c DEFAULT = slamch('EPS') (machine precision as computed |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
108 c by the LAPACK auxiliary subroutine slamch). |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
109 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
110 c RESID Complex array of length N. (INPUT/OUTPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
111 c On INPUT: |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
112 c If INFO .EQ. 0, a random initial residual vector is used. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
113 c If INFO .NE. 0, RESID contains the initial residual vector, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
114 c possibly from a previous run. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
115 c On OUTPUT: |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
116 c RESID contains the final residual vector. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
117 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
118 c NCV Integer. (INPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
119 c Number of columns of the matrix V. NCV must satisfy the two |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
120 c inequalities 1 <= NCV-NEV and NCV <= N. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
121 c This will indicate how many Arnoldi vectors are generated |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
122 c at each iteration. After the startup phase in which NEV |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
123 c Arnoldi vectors are generated, the algorithm generates |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
124 c approximately NCV-NEV Arnoldi vectors at each subsequent update |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
125 c iteration. Most of the cost in generating each Arnoldi vector is |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
126 c in the matrix-vector operation OP*x. (See remark 4 below.) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
127 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
128 c V Complex array N by NCV. (OUTPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
129 c Contains the final set of Arnoldi basis vectors. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
130 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
131 c LDV Integer. (INPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
132 c Leading dimension of V exactly as declared in the calling program. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
133 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
134 c IPARAM Integer array of length 11. (INPUT/OUTPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
135 c IPARAM(1) = ISHIFT: method for selecting the implicit shifts. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
136 c The shifts selected at each iteration are used to filter out |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
137 c the components of the unwanted eigenvector. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
138 c ------------------------------------------------------------- |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
139 c ISHIFT = 0: the shifts are to be provided by the user via |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
140 c reverse communication. The NCV eigenvalues of |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
141 c the Hessenberg matrix H are returned in the part |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
142 c of WORKL array corresponding to RITZ. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
143 c ISHIFT = 1: exact shifts with respect to the current |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
144 c Hessenberg matrix H. This is equivalent to |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
145 c restarting the iteration from the beginning |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
146 c after updating the starting vector with a linear |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
147 c combination of Ritz vectors associated with the |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
148 c "wanted" eigenvalues. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
149 c ISHIFT = 2: other choice of internal shift to be defined. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
150 c ------------------------------------------------------------- |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
151 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
152 c IPARAM(2) = No longer referenced |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
153 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
154 c IPARAM(3) = MXITER |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
155 c On INPUT: maximum number of Arnoldi update iterations allowed. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
156 c On OUTPUT: actual number of Arnoldi update iterations taken. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
157 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
158 c IPARAM(4) = NB: blocksize to be used in the recurrence. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
159 c The code currently works only for NB = 1. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
160 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
161 c IPARAM(5) = NCONV: number of "converged" Ritz values. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
162 c This represents the number of Ritz values that satisfy |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
163 c the convergence criterion. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
164 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
165 c IPARAM(6) = IUPD |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
166 c No longer referenced. Implicit restarting is ALWAYS used. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
167 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
168 c IPARAM(7) = MODE |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
169 c On INPUT determines what type of eigenproblem is being solved. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
170 c Must be 1,2,3; See under \Description of cnaupd for the |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
171 c four modes available. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
172 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
173 c IPARAM(8) = NP |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
174 c When ido = 3 and the user provides shifts through reverse |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
175 c communication (IPARAM(1)=0), _naupd returns NP, the number |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
176 c of shifts the user is to provide. 0 < NP < NCV-NEV. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
177 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
178 c IPARAM(9) = NUMOP, IPARAM(10) = NUMOPB, IPARAM(11) = NUMREO, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
179 c OUTPUT: NUMOP = total number of OP*x operations, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
180 c NUMOPB = total number of B*x operations if BMAT='G', |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
181 c NUMREO = total number of steps of re-orthogonalization. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
182 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
183 c IPNTR Integer array of length 14. (OUTPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
184 c Pointer to mark the starting locations in the WORKD and WORKL |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
185 c arrays for matrices/vectors used by the Arnoldi iteration. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
186 c ------------------------------------------------------------- |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
187 c IPNTR(1): pointer to the current operand vector X in WORKD. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
188 c IPNTR(2): pointer to the current result vector Y in WORKD. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
189 c IPNTR(3): pointer to the vector B * X in WORKD when used in |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
190 c the shift-and-invert mode. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
191 c IPNTR(4): pointer to the next available location in WORKL |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
192 c that is untouched by the program. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
193 c IPNTR(5): pointer to the NCV by NCV upper Hessenberg |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
194 c matrix H in WORKL. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
195 c IPNTR(6): pointer to the ritz value array RITZ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
196 c IPNTR(7): pointer to the (projected) ritz vector array Q |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
197 c IPNTR(8): pointer to the error BOUNDS array in WORKL. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
198 c IPNTR(14): pointer to the NP shifts in WORKL. See Remark 5 below. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
199 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
200 c Note: IPNTR(9:13) is only referenced by cneupd. See Remark 2 below. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
201 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
202 c IPNTR(9): pointer to the NCV RITZ values of the |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
203 c original system. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
204 c IPNTR(10): Not Used |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
205 c IPNTR(11): pointer to the NCV corresponding error bounds. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
206 c IPNTR(12): pointer to the NCV by NCV upper triangular |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
207 c Schur matrix for H. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
208 c IPNTR(13): pointer to the NCV by NCV matrix of eigenvectors |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
209 c of the upper Hessenberg matrix H. Only referenced by |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
210 c cneupd if RVEC = .TRUE. See Remark 2 below. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
211 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
212 c ------------------------------------------------------------- |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
213 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
214 c WORKD Complex work array of length 3*N. (REVERSE COMMUNICATION) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
215 c Distributed array to be used in the basic Arnoldi iteration |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
216 c for reverse communication. The user should not use WORKD |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
217 c as temporary workspace during the iteration !!!!!!!!!! |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
218 c See Data Distribution Note below. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
219 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
220 c WORKL Complex work array of length LWORKL. (OUTPUT/WORKSPACE) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
221 c Private (replicated) array on each PE or array allocated on |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
222 c the front end. See Data Distribution Note below. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
223 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
224 c LWORKL Integer. (INPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
225 c LWORKL must be at least 3*NCV**2 + 5*NCV. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
226 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
227 c RWORK Real work array of length NCV (WORKSPACE) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
228 c Private (replicated) array on each PE or array allocated on |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
229 c the front end. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
230 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
231 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
232 c INFO Integer. (INPUT/OUTPUT) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
233 c If INFO .EQ. 0, a randomly initial residual vector is used. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
234 c If INFO .NE. 0, RESID contains the initial residual vector, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
235 c possibly from a previous run. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
236 c Error flag on output. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
237 c = 0: Normal exit. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
238 c = 1: Maximum number of iterations taken. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
239 c All possible eigenvalues of OP has been found. IPARAM(5) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
240 c returns the number of wanted converged Ritz values. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
241 c = 2: No longer an informational error. Deprecated starting |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
242 c with release 2 of ARPACK. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
243 c = 3: No shifts could be applied during a cycle of the |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
244 c Implicitly restarted Arnoldi iteration. One possibility |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
245 c is to increase the size of NCV relative to NEV. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
246 c See remark 4 below. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
247 c = -1: N must be positive. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
248 c = -2: NEV must be positive. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
249 c = -3: NCV-NEV >= 2 and less than or equal to N. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
250 c = -4: The maximum number of Arnoldi update iteration |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
251 c must be greater than zero. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
252 c = -5: WHICH must be one of 'LM', 'SM', 'LR', 'SR', 'LI', 'SI' |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
253 c = -6: BMAT must be one of 'I' or 'G'. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
254 c = -7: Length of private work array is not sufficient. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
255 c = -8: Error return from LAPACK eigenvalue calculation; |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
256 c = -9: Starting vector is zero. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
257 c = -10: IPARAM(7) must be 1,2,3. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
258 c = -11: IPARAM(7) = 1 and BMAT = 'G' are incompatible. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
259 c = -12: IPARAM(1) must be equal to 0 or 1. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
260 c = -9999: Could not build an Arnoldi factorization. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
261 c User input error highly likely. Please |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
262 c check actual array dimensions and layout. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
263 c IPARAM(5) returns the size of the current Arnoldi |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
264 c factorization. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
265 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
266 c\Remarks |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
267 c 1. The computed Ritz values are approximate eigenvalues of OP. The |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
268 c selection of WHICH should be made with this in mind when using |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
269 c Mode = 3. When operating in Mode = 3 setting WHICH = 'LM' will |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
270 c compute the NEV eigenvalues of the original problem that are |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
271 c closest to the shift SIGMA . After convergence, approximate eigenvalues |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
272 c of the original problem may be obtained with the ARPACK subroutine cneupd. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
273 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
274 c 2. If a basis for the invariant subspace corresponding to the converged Ritz |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
275 c values is needed, the user must call cneupd immediately following |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
276 c completion of cnaupd. This is new starting with release 2 of ARPACK. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
277 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
278 c 3. If M can be factored into a Cholesky factorization M = LL` |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
279 c then Mode = 2 should not be selected. Instead one should use |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
280 c Mode = 1 with OP = inv(L)*A*inv(L`). Appropriate triangular |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
281 c linear systems should be solved with L and L` rather |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
282 c than computing inverses. After convergence, an approximate |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
283 c eigenvector z of the original problem is recovered by solving |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
284 c L`z = x where x is a Ritz vector of OP. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
285 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
286 c 4. At present there is no a-priori analysis to guide the selection |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
287 c of NCV relative to NEV. The only formal requirement is that NCV > NEV + 1. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
288 c However, it is recommended that NCV .ge. 2*NEV. If many problems of |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
289 c the same type are to be solved, one should experiment with increasing |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
290 c NCV while keeping NEV fixed for a given test problem. This will |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
291 c usually decrease the required number of OP*x operations but it |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
292 c also increases the work and storage required to maintain the orthogonal |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
293 c basis vectors. The optimal "cross-over" with respect to CPU time |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
294 c is problem dependent and must be determined empirically. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
295 c See Chapter 8 of Reference 2 for further information. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
296 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
297 c 5. When IPARAM(1) = 0, and IDO = 3, the user needs to provide the |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
298 c NP = IPARAM(8) complex shifts in locations |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
299 c WORKL(IPNTR(14)), WORKL(IPNTR(14)+1), ... , WORKL(IPNTR(14)+NP). |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
300 c Eigenvalues of the current upper Hessenberg matrix are located in |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
301 c WORKL(IPNTR(6)) through WORKL(IPNTR(6)+NCV-1). They are ordered |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
302 c according to the order defined by WHICH. The associated Ritz estimates |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
303 c are located in WORKL(IPNTR(8)), WORKL(IPNTR(8)+1), ... , |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
304 c WORKL(IPNTR(8)+NCV-1). |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
305 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
306 c----------------------------------------------------------------------- |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
307 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
308 c\Data Distribution Note: |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
309 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
310 c Fortran-D syntax: |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
311 c ================ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
312 c Complex resid(n), v(ldv,ncv), workd(3*n), workl(lworkl) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
313 c decompose d1(n), d2(n,ncv) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
314 c align resid(i) with d1(i) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
315 c align v(i,j) with d2(i,j) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
316 c align workd(i) with d1(i) range (1:n) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
317 c align workd(i) with d1(i-n) range (n+1:2*n) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
318 c align workd(i) with d1(i-2*n) range (2*n+1:3*n) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
319 c distribute d1(block), d2(block,:) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
320 c replicated workl(lworkl) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
321 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
322 c Cray MPP syntax: |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
323 c =============== |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
324 c Complex resid(n), v(ldv,ncv), workd(n,3), workl(lworkl) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
325 c shared resid(block), v(block,:), workd(block,:) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
326 c replicated workl(lworkl) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
327 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
328 c CM2/CM5 syntax: |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
329 c ============== |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
330 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
331 c----------------------------------------------------------------------- |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
332 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
333 c include 'ex-nonsym.doc' |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
334 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
335 c----------------------------------------------------------------------- |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
336 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
337 c\BeginLib |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
338 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
339 c\Local variables: |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
340 c xxxxxx Complex |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
341 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
342 c\References: |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
343 c 1. D.C. Sorensen, "Implicit Application of Polynomial Filters in |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
344 c a k-Step Arnoldi Method", SIAM J. Matr. Anal. Apps., 13 (1992), |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
345 c pp 357-385. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
346 c 2. R.B. Lehoucq, "Analysis and Implementation of an Implicitly |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
347 c Restarted Arnoldi Iteration", Rice University Technical Report |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
348 c TR95-13, Department of Computational and Applied Mathematics. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
349 c 3. B.N. Parlett & Y. Saad, "_Complex_ Shift and Invert Strategies for |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
350 c _Real_ Matrices", Linear Algebra and its Applications, vol 88/89, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
351 c pp 575-595, (1987). |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
352 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
353 c\Routines called: |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
354 c cnaup2 ARPACK routine that implements the Implicitly Restarted |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
355 c Arnoldi Iteration. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
356 c cstatn ARPACK routine that initializes the timing variables. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
357 c ivout ARPACK utility routine that prints integers. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
358 c cvout ARPACK utility routine that prints vectors. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
359 c arscnd ARPACK utility routine for timing. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
360 c slamch LAPACK routine that determines machine constants. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
361 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
362 c\Author |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
363 c Danny Sorensen Phuong Vu |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
364 c Richard Lehoucq CRPC / Rice University |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
365 c Dept. of Computational & Houston, Texas |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
366 c Applied Mathematics |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
367 c Rice University |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
368 c Houston, Texas |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
369 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
370 c\SCCS Information: @(#) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
371 c FILE: naupd.F SID: 2.8 DATE OF SID: 04/10/01 RELEASE: 2 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
372 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
373 c\Remarks |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
374 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
375 c\EndLib |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
376 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
377 c----------------------------------------------------------------------- |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
378 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
379 subroutine cnaupd |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
380 & ( ido, bmat, n, which, nev, tol, resid, ncv, v, ldv, iparam, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
381 & ipntr, workd, workl, lworkl, rwork, info ) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
382 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
383 c %----------------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
384 c | Include files for debugging and timing information | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
385 c %----------------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
386 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
387 include 'debug.h' |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
388 include 'stat.h' |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
389 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
390 c %------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
391 c | Scalar Arguments | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
392 c %------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
393 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
394 character bmat*1, which*2 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
395 integer ido, info, ldv, lworkl, n, ncv, nev |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
396 Real |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
397 & tol |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
398 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
399 c %-----------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
400 c | Array Arguments | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
401 c %-----------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
402 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
403 integer iparam(11), ipntr(14) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
404 Complex |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
405 & resid(n), v(ldv,ncv), workd(3*n), workl(lworkl) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
406 Real |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
407 & rwork(ncv) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
408 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
409 c %------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
410 c | Parameters | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
411 c %------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
412 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
413 Complex |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
414 & one, zero |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
415 parameter (one = (1.0E+0, 0.0E+0) , zero = (0.0E+0, 0.0E+0) ) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
416 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
417 c %---------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
418 c | Local Scalars | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
419 c %---------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
420 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
421 integer bounds, ierr, ih, iq, ishift, iupd, iw, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
422 & ldh, ldq, levec, mode, msglvl, mxiter, nb, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
423 & nev0, next, np, ritz, j |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
424 save bounds, ih, iq, ishift, iupd, iw, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
425 & ldh, ldq, levec, mode, msglvl, mxiter, nb, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
426 & nev0, next, np, ritz |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
427 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
428 c %----------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
429 c | External Subroutines | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
430 c %----------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
431 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
432 external cnaup2, cvout, ivout, arscnd, cstatn |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
433 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
434 c %--------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
435 c | External Functions | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
436 c %--------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
437 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
438 Real |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
439 & slamch |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
440 external slamch |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
441 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
442 c %-----------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
443 c | Executable Statements | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
444 c %-----------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
445 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
446 if (ido .eq. 0) then |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
447 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
448 c %-------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
449 c | Initialize timing statistics | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
450 c | & message level for debugging | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
451 c %-------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
452 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
453 call cstatn |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
454 call arscnd (t0) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
455 msglvl = mcaupd |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
456 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
457 c %----------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
458 c | Error checking | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
459 c %----------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
460 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
461 ierr = 0 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
462 ishift = iparam(1) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
463 c levec = iparam(2) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
464 mxiter = iparam(3) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
465 c nb = iparam(4) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
466 nb = 1 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
467 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
468 c %--------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
469 c | Revision 2 performs only implicit restart. | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
470 c %--------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
471 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
472 iupd = 1 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
473 mode = iparam(7) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
474 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
475 if (n .le. 0) then |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
476 ierr = -1 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
477 else if (nev .le. 0) then |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
478 ierr = -2 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
479 else if (ncv .le. nev .or. ncv .gt. n) then |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
480 ierr = -3 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
481 else if (mxiter .le. 0) then |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
482 ierr = -4 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
483 else if (which .ne. 'LM' .and. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
484 & which .ne. 'SM' .and. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
485 & which .ne. 'LR' .and. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
486 & which .ne. 'SR' .and. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
487 & which .ne. 'LI' .and. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
488 & which .ne. 'SI') then |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
489 ierr = -5 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
490 else if (bmat .ne. 'I' .and. bmat .ne. 'G') then |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
491 ierr = -6 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
492 else if (lworkl .lt. 3*ncv**2 + 5*ncv) then |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
493 ierr = -7 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
494 else if (mode .lt. 1 .or. mode .gt. 3) then |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
495 ierr = -10 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
496 else if (mode .eq. 1 .and. bmat .eq. 'G') then |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
497 ierr = -11 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
498 end if |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
499 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
500 c %------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
501 c | Error Exit | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
502 c %------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
503 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
504 if (ierr .ne. 0) then |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
505 info = ierr |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
506 ido = 99 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
507 go to 9000 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
508 end if |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
509 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
510 c %------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
511 c | Set default parameters | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
512 c %------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
513 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
514 if (nb .le. 0) nb = 1 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
515 if (tol .le. 0.0E+0 ) tol = slamch('EpsMach') |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
516 if (ishift .ne. 0 .and. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
517 & ishift .ne. 1 .and. |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
518 & ishift .ne. 2) ishift = 1 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
519 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
520 c %----------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
521 c | NP is the number of additional steps to | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
522 c | extend the length NEV Lanczos factorization. | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
523 c | NEV0 is the local variable designating the | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
524 c | size of the invariant subspace desired. | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
525 c %----------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
526 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
527 np = ncv - nev |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
528 nev0 = nev |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
529 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
530 c %-----------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
531 c | Zero out internal workspace | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
532 c %-----------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
533 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
534 do 10 j = 1, 3*ncv**2 + 5*ncv |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
535 workl(j) = zero |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
536 10 continue |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
537 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
538 c %-------------------------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
539 c | Pointer into WORKL for address of H, RITZ, BOUNDS, Q | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
540 c | etc... and the remaining workspace. | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
541 c | Also update pointer to be used on output. | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
542 c | Memory is laid out as follows: | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
543 c | workl(1:ncv*ncv) := generated Hessenberg matrix | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
544 c | workl(ncv*ncv+1:ncv*ncv+ncv) := the ritz values | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
545 c | workl(ncv*ncv+ncv+1:ncv*ncv+2*ncv) := error bounds | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
546 c | workl(ncv*ncv+2*ncv+1:2*ncv*ncv+2*ncv) := rotation matrix Q | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
547 c | workl(2*ncv*ncv+2*ncv+1:3*ncv*ncv+5*ncv) := workspace | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
548 c | The final workspace is needed by subroutine cneigh called | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
549 c | by cnaup2. Subroutine cneigh calls LAPACK routines for | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
550 c | calculating eigenvalues and the last row of the eigenvector | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
551 c | matrix. | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
552 c %-------------------------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
553 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
554 ldh = ncv |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
555 ldq = ncv |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
556 ih = 1 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
557 ritz = ih + ldh*ncv |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
558 bounds = ritz + ncv |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
559 iq = bounds + ncv |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
560 iw = iq + ldq*ncv |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
561 next = iw + ncv**2 + 3*ncv |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
562 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
563 ipntr(4) = next |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
564 ipntr(5) = ih |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
565 ipntr(6) = ritz |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
566 ipntr(7) = iq |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
567 ipntr(8) = bounds |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
568 ipntr(14) = iw |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
569 end if |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
570 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
571 c %-------------------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
572 c | Carry out the Implicitly restarted Arnoldi Iteration. | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
573 c %-------------------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
574 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
575 call cnaup2 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
576 & ( ido, bmat, n, which, nev0, np, tol, resid, mode, iupd, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
577 & ishift, mxiter, v, ldv, workl(ih), ldh, workl(ritz), |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
578 & workl(bounds), workl(iq), ldq, workl(iw), |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
579 & ipntr, workd, rwork, info ) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
580 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
581 c %--------------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
582 c | ido .ne. 99 implies use of reverse communication | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
583 c | to compute operations involving OP. | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
584 c %--------------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
585 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
586 if (ido .eq. 3) iparam(8) = np |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
587 if (ido .ne. 99) go to 9000 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
588 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
589 iparam(3) = mxiter |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
590 iparam(5) = np |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
591 iparam(9) = nopx |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
592 iparam(10) = nbx |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
593 iparam(11) = nrorth |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
594 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
595 c %------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
596 c | Exit if there was an informational | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
597 c | error within cnaup2. | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
598 c %------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
599 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
600 if (info .lt. 0) go to 9000 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
601 if (info .eq. 2) info = 3 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
602 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
603 if (msglvl .gt. 0) then |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
604 call ivout (logfil, 1, mxiter, ndigit, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
605 & '_naupd: Number of update iterations taken') |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
606 call ivout (logfil, 1, np, ndigit, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
607 & '_naupd: Number of wanted "converged" Ritz values') |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
608 call cvout (logfil, np, workl(ritz), ndigit, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
609 & '_naupd: The final Ritz values') |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
610 call cvout (logfil, np, workl(bounds), ndigit, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
611 & '_naupd: Associated Ritz estimates') |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
612 end if |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
613 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
614 call arscnd (t1) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
615 tcaupd = t1 - t0 |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
616 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
617 if (msglvl .gt. 0) then |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
618 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
619 c %--------------------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
620 c | Version Number & Version Date are defined in version.h | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
621 c %--------------------------------------------------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
622 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
623 write (6,1000) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
624 write (6,1100) mxiter, nopx, nbx, nrorth, nitref, nrstrt, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
625 & tmvopx, tmvbx, tcaupd, tcaup2, tcaitr, titref, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
626 & tgetv0, tceigh, tcgets, tcapps, tcconv, trvec |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
627 1000 format (//, |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
628 & 5x, '=============================================',/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
629 & 5x, '= Complex implicit Arnoldi update code =',/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
630 & 5x, '= Version Number: ', ' 2.3' , 21x, ' =',/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
631 & 5x, '= Version Date: ', ' 07/31/96' , 16x, ' =',/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
632 & 5x, '=============================================',/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
633 & 5x, '= Summary of timing statistics =',/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
634 & 5x, '=============================================',//) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
635 1100 format ( |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
636 & 5x, 'Total number update iterations = ', i5,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
637 & 5x, 'Total number of OP*x operations = ', i5,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
638 & 5x, 'Total number of B*x operations = ', i5,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
639 & 5x, 'Total number of reorthogonalization steps = ', i5,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
640 & 5x, 'Total number of iterative refinement steps = ', i5,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
641 & 5x, 'Total number of restart steps = ', i5,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
642 & 5x, 'Total time in user OP*x operation = ', f12.6,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
643 & 5x, 'Total time in user B*x operation = ', f12.6,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
644 & 5x, 'Total time in Arnoldi update routine = ', f12.6,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
645 & 5x, 'Total time in naup2 routine = ', f12.6,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
646 & 5x, 'Total time in basic Arnoldi iteration loop = ', f12.6,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
647 & 5x, 'Total time in reorthogonalization phase = ', f12.6,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
648 & 5x, 'Total time in (re)start vector generation = ', f12.6,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
649 & 5x, 'Total time in Hessenberg eig. subproblem = ', f12.6,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
650 & 5x, 'Total time in getting the shifts = ', f12.6,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
651 & 5x, 'Total time in applying the shifts = ', f12.6,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
652 & 5x, 'Total time in convergence testing = ', f12.6,/ |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
653 & 5x, 'Total time in computing final Ritz vectors = ', f12.6/) |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
654 end if |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
655 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
656 9000 continue |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
657 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
658 return |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
659 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
660 c %---------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
661 c | End of cnaupd | |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
662 c %---------------% |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
663 c |
9f5d2ef078e8
import ARPACK sources to libcruft from Debian package libarpack2 2.1+parpack96.dfsg-3+b1
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
664 end |