Mercurial > hg > octave-thorsten
annotate libcruft/arpack/src/dsapps.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----------------------------------------------------------------------- |
9f5d2ef078e8
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\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
|
3 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
|
4 c\Name: dsapps |
9f5d2ef078e8
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 |
9f5d2ef078e8
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\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
|
7 c Given the 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
|
8 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
|
9 c A*V_{k} - V_{k}*H_{k} = r_{k+p}*e_{k+p}^T, |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 apply NP shifts implicitly resulting 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
|
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 A*(V_{k}*Q) - (V_{k}*Q)*(Q^T* H_{k}*Q) = r_{k+p}*e_{k+p}^T * 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
|
14 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
|
15 c where Q is an orthogonal matrix of order KEV+NP. Q is the product 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
|
16 c rotations resulting from the NP bulge chasing sweeps. The updated 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
|
17 c factorization becomes: |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 A*VNEW_{k} - VNEW_{k}*HNEW_{k} = rnew_{k}*e_{k}^T. |
9f5d2ef078e8
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 |
9f5d2ef078e8
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\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
|
22 c call dsapps |
9f5d2ef078e8
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 ( N, KEV, NP, SHIFT, V, LDV, H, LDH, RESID, Q, LDQ, 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
|
24 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
|
25 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
|
26 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
|
27 c Problem size, i.e. dimension of matrix 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
|
28 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
|
29 c KEV 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
|
30 c INPUT: KEV+NP is the size of the input matrix 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
|
31 c OUTPUT: KEV is the size of the updated matrix HNEW. |
9f5d2ef078e8
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 NP 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
|
34 c Number of implicit shifts to be applied. |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 SHIFT Double precision array of length NP. (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
|
37 c The shifts to be applied. |
9f5d2ef078e8
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 V Double precision N by (KEV+NP) array. (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
|
40 c INPUT: V contains the current KEV+NP Arnoldi 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
|
41 c OUTPUT: VNEW = V(1:n,1:KEV); the updated Arnoldi 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
|
42 c are in the first KEV columns of 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
|
43 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
|
44 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
|
45 c Leading dimension of V exactly as declared in the calling |
9f5d2ef078e8
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 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
|
47 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
|
48 c H Double precision (KEV+NP) by 2 array. (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
|
49 c INPUT: H contains the symmetric tridiagonal matrix 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
|
50 c Arnoldi factorization with the subdiagonal in the 1st column |
9f5d2ef078e8
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 starting at H(2,1) and the main diagonal in the 2nd column. |
9f5d2ef078e8
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 OUTPUT: H contains the updated tridiagonal matrix in 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
|
53 c KEV leading submatrix. |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 LDH 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
|
56 c Leading dimension of H exactly as declared in the calling |
9f5d2ef078e8
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 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
|
58 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
|
59 c RESID Double precision 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
|
60 c INPUT: RESID contains the the residual vector r_{k+p}. |
9f5d2ef078e8
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 OUTPUT: RESID is the updated residual vector rnew_{k}. |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 Q Double precision KEV+NP by KEV+NP work array. (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
|
64 c Work array used to accumulate the rotations during the bulge |
9f5d2ef078e8
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 chase sweep. |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 LDQ 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
|
68 c Leading dimension of Q exactly as declared in the calling |
9f5d2ef078e8
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 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
|
70 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
|
71 c WORKD Double precision work array of length 2*N. (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
|
72 c Distributed array used in the application of the accumulated |
9f5d2ef078e8
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 orthogonal 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
|
74 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
|
75 c\EndDoc |
9f5d2ef078e8
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 |
9f5d2ef078e8
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----------------------------------------------------------------------- |
9f5d2ef078e8
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\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
|
80 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
|
81 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
|
82 c xxxxxx 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
|
83 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
|
84 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
|
85 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
|
86 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
|
87 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
|
88 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
|
89 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
|
90 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
|
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\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
|
93 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
|
94 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
|
95 c dvout 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
|
96 c dlamch 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
|
97 c dlartg LAPACK Givens rotation construction routine. |
9f5d2ef078e8
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 dlacpy LAPACK matrix copy routine. |
9f5d2ef078e8
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 dlaset LAPACK matrix initialization routine. |
9f5d2ef078e8
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 dgemv Level 2 BLAS routine for matrix vector multiplication. |
9f5d2ef078e8
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 daxpy Level 1 BLAS that computes a vector triad. |
9f5d2ef078e8
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 dcopy Level 1 BLAS that copies one vector to another. |
9f5d2ef078e8
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 dscal Level 1 BLAS that scales a 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
|
104 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
|
105 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
|
106 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
|
107 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
|
108 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
|
109 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
|
110 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
|
111 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
|
112 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
|
113 c\Revision history: |
9f5d2ef078e8
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 12/16/93: Version ' 2.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
|
115 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
|
116 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
|
117 c FILE: sapps.F SID: 2.6 DATE OF SID: 3/28/97 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
|
118 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
|
119 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
|
120 c 1. In this version, each shift is applied to all the subblocks 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
|
121 c the tridiagonal matrix H and not just to the submatrix that 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
|
122 c comes from. This routine assumes that the subdiagonal elements |
9f5d2ef078e8
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 of H that are stored in h(1:kev+np,1) are nonegative upon 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
|
124 c and enforce this condition upon output. This version incorporates |
9f5d2ef078e8
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 deflation. See code for documentation. |
9f5d2ef078e8
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 |
9f5d2ef078e8
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\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
|
128 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
|
129 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
|
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 subroutine dsapps |
9f5d2ef078e8
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 & ( n, kev, np, shift, v, ldv, h, ldh, resid, q, ldq, 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
|
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 %----------------------------------------------------% |
9f5d2ef078e8
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 | 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
|
136 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
|
137 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
|
138 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
|
139 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
|
140 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
|
141 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
|
142 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
|
143 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
|
144 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
|
145 integer kev, ldh, ldq, ldv, n, 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
|
146 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
|
147 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
|
148 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
|
149 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
|
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 Double precision |
9f5d2ef078e8
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 & h(ldh,2), q(ldq,kev+np), resid(n), shift(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
|
153 & v(ldv,kev+np), workd(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
|
154 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
|
155 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
|
156 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
|
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 |
9f5d2ef078e8
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 Double precision |
9f5d2ef078e8
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 & 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
|
161 parameter (one = 1.0D+0, zero = 0.0D+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
|
162 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
|
163 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
|
164 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
|
165 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
|
166 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
|
167 integer i, iend, istart, itop, j, jj, kplusp, msglvl |
9f5d2ef078e8
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 logical 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
|
169 Double precision |
9f5d2ef078e8
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 & a1, a2, a3, a4, big, c, epsmch, f, g, r, s |
9f5d2ef078e8
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 save epsmch, 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
|
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 |
9f5d2ef078e8
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 %----------------------% |
9f5d2ef078e8
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 | 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
|
176 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
|
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 external daxpy, dcopy, dscal, dlacpy, dlartg, dlaset, dvout, |
9f5d2ef078e8
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 & ivout, arscnd, dgemv |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 %--------------------% |
9f5d2ef078e8
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 | 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
|
183 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
|
184 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
|
185 Double precision |
9f5d2ef078e8
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 & dlamch |
9f5d2ef078e8
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 external dlamch |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 %----------------------% |
9f5d2ef078e8
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 | Intrinsics 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
|
191 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
|
192 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
|
193 intrinsic abs |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 %----------------% |
9f5d2ef078e8
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 | Data statments | |
9f5d2ef078e8
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 %----------------% |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 data first / .true. / |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 | 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
|
203 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
|
204 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
|
205 if (first) 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
|
206 epsmch = dlamch('Epsilon-Machine') |
9f5d2ef078e8
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 first = .false. |
9f5d2ef078e8
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 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
|
209 itop = 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
|
210 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
|
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 | 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
|
213 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
|
214 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
|
215 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
|
216 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
|
217 msglvl = msapps |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 kplusp = kev + 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
|
220 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
|
221 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
|
222 c | Initialize Q to the identity matrix of order | |
9f5d2ef078e8
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 | kplusp used to accumulate the rotations. | |
9f5d2ef078e8
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 %----------------------------------------------% |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 call dlaset ('All', kplusp, kplusp, zero, one, q, ldq) |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 %----------------------------------------------% |
9f5d2ef078e8
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 | Quick return if there are no shifts to apply | |
9f5d2ef078e8
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 if (np .eq. 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
|
233 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
|
234 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
|
235 c | Apply the np shifts implicitly. Apply each shift to 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
|
236 c | whole matrix and not just to the submatrix from which 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
|
237 c | comes. | |
9f5d2ef078e8
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 %----------------------------------------------------------% |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 do 90 jj = 1, 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
|
241 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
|
242 istart = itop |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 %----------------------------------------------------------% |
9f5d2ef078e8
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 | Check for splitting and deflation. Currently we consider | |
9f5d2ef078e8
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 | an off-diagonal element h(i+1,1) negligible 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
|
247 c | h(i+1,1) .le. epsmch*( |h(i,2)| + |h(i+1,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
|
248 c | for i=1:KEV+NP-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
|
249 c | If above condition tests true then we set h(i+1,1) = 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
|
250 c | Note that h(1:KEV+NP,1) are assumed to be non negative. | |
9f5d2ef078e8
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 %----------------------------------------------------------% |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 20 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
|
254 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
|
255 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
|
256 c | The following loop exits early if we encounter | |
9f5d2ef078e8
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 | a negligible off diagonal element. | |
9f5d2ef078e8
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 %------------------------------------------------% |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 do 30 i = istart, kplusp-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
|
261 big = abs(h(i,2)) + abs(h(i+1,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
|
262 if (h(i+1,1) .le. epsmch*big) 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
|
263 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
|
264 call ivout (logfil, 1, i, 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
|
265 & '_sapps: deflation at row/column no.') |
9f5d2ef078e8
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 call ivout (logfil, 1, jj, 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
|
267 & '_sapps: occured before shift 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
|
268 call dvout (logfil, 1, h(i+1,1), 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
|
269 & '_sapps: the corresponding off diagonal element') |
9f5d2ef078e8
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 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
|
271 h(i+1,1) = 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
|
272 iend = 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
|
273 go to 40 |
9f5d2ef078e8
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 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
|
275 30 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
|
276 iend = kplusp |
9f5d2ef078e8
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 40 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
|
278 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
|
279 if (istart .lt. iend) 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
|
280 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
|
281 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
|
282 c | Construct the plane rotation G'(istart,istart+1,theta) | |
9f5d2ef078e8
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 | that attempts to drive h(istart+1,1) to 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
|
284 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
|
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 f = h(istart,2) - shift(jj) |
9f5d2ef078e8
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 g = h(istart+1,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 call dlartg (f, g, c, s, r) |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 %-------------------------------------------------------% |
9f5d2ef078e8
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 | Apply rotation to the left and right of 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
|
292 c | H <- G' * H * G, where G = G(istart,istart+1,theta). | |
9f5d2ef078e8
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 | This will create a "bulge". | |
9f5d2ef078e8
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 %-------------------------------------------------------% |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 a1 = c*h(istart,2) + s*h(istart+1,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
|
297 a2 = c*h(istart+1,1) + s*h(istart+1,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
|
298 a4 = c*h(istart+1,2) - s*h(istart+1,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
|
299 a3 = c*h(istart+1,1) - s*h(istart,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
|
300 h(istart,2) = c*a1 + s*a2 |
9f5d2ef078e8
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 h(istart+1,2) = c*a4 - s*a3 |
9f5d2ef078e8
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 h(istart+1,1) = c*a3 + s*a4 |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 %----------------------------------------------------% |
9f5d2ef078e8
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 | Accumulate the rotation in the matrix Q; Q <- Q*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
|
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 do 60 j = 1, min(istart+jj,kplusp) |
9f5d2ef078e8
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 a1 = c*q(j,istart) + s*q(j,istart+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
|
310 q(j,istart+1) = - s*q(j,istart) + c*q(j,istart+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
|
311 q(j,istart) = a1 |
9f5d2ef078e8
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 60 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
|
313 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
|
314 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
|
315 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
|
316 c | The following loop chases the bulge created. | |
9f5d2ef078e8
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 | Note that the previous rotation may also be | |
9f5d2ef078e8
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 | done within the following loop. But it 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
|
319 c | kept separate to make the distinction among | |
9f5d2ef078e8
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 | the bulge chasing sweeps and the first plane | |
9f5d2ef078e8
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 | rotation designed to drive h(istart+1,1) 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
|
322 c | 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
|
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 |
9f5d2ef078e8
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 do 70 i = istart+1, iend-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
|
326 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
|
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 | Construct the plane rotation G'(i,i+1,theta) | |
9f5d2ef078e8
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 | that zeros the i-th bulge that was created | |
9f5d2ef078e8
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 | by G(i-1,i,theta). g represents the bulge. | |
9f5d2ef078e8
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 f = h(i,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
|
334 g = s*h(i+1,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
|
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 | Final update with G(i-1,i,theta) | |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 h(i+1,1) = c*h(i+1,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
|
341 call dlartg (f, g, c, s, r) |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 %-------------------------------------------% |
9f5d2ef078e8
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 | The following ensures that h(1:iend-1,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
|
345 c | the first iend-2 off diagonal of elements | |
9f5d2ef078e8
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 | H, remain non negative. | |
9f5d2ef078e8
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 %-------------------------------------------% |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 if (r .lt. zero) 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
|
350 r = -r |
9f5d2ef078e8
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 = -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
|
352 s = -s |
9f5d2ef078e8
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 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
|
354 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
|
355 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
|
356 c | Apply rotation to the left and right of 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
|
357 c | H <- G * H * G', where G = G(i,i+1,theta) | |
9f5d2ef078e8
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 %--------------------------------------------% |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 h(i,1) = r |
9f5d2ef078e8
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 a1 = c*h(i,2) + s*h(i+1,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
|
363 a2 = c*h(i+1,1) + s*h(i+1,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
|
364 a3 = c*h(i+1,1) - s*h(i,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
|
365 a4 = c*h(i+1,2) - s*h(i+1,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
|
366 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
|
367 h(i,2) = c*a1 + s*a2 |
9f5d2ef078e8
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 h(i+1,2) = c*a4 - s*a3 |
9f5d2ef078e8
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 h(i+1,1) = c*a3 + s*a4 |
9f5d2ef078e8
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 |
9f5d2ef078e8
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 %----------------------------------------------------% |
9f5d2ef078e8
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 | Accumulate the rotation in the matrix Q; Q <- Q*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
|
373 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
|
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 do 50 j = 1, min( i+jj, kplusp ) |
9f5d2ef078e8
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 a1 = c*q(j,i) + s*q(j,i+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
|
377 q(j,i+1) = - s*q(j,i) + c*q(j,i+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
|
378 q(j,i) = a1 |
9f5d2ef078e8
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 50 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
|
380 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
|
381 70 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
|
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 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
|
384 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
|
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 | Update the block pointer | |
9f5d2ef078e8
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 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
|
388 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
|
389 istart = iend + 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
|
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 %------------------------------------------% |
9f5d2ef078e8
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 | Make sure that h(iend,1) is non-negative | |
9f5d2ef078e8
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 | If not then set h(iend,1) <-- -h(iend,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
|
394 c | and negate the last column of 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
|
395 c | We have effectively carried out 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
|
396 c | similarity on transformation 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
|
397 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
|
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 if (h(iend,1) .lt. zero) 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
|
400 h(iend,1) = -h(iend,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
|
401 call dscal(kplusp, -one, q(1,iend), 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
|
402 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
|
403 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
|
404 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
|
405 c | Apply the same shift to the next block if there is any | |
9f5d2ef078e8
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 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
|
407 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
|
408 if (iend .lt. kplusp) go to 20 |
9f5d2ef078e8
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 %-----------------------------------------------------% |
9f5d2ef078e8
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 | Check if we can increase the the start of the 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
|
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 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
|
414 do 80 i = itop, kplusp-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
|
415 if (h(i+1,1) .gt. zero) go to 90 |
9f5d2ef078e8
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 itop = itop + 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
|
417 80 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
|
418 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
|
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 | Finished applying the jj-th shift | |
9f5d2ef078e8
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 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
|
422 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
|
423 90 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
|
424 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
|
425 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
|
426 c | All shifts have been applied. Check 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
|
427 c | more possible deflation that might occur | |
9f5d2ef078e8
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 | after the last shift is applied. | |
9f5d2ef078e8
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 %------------------------------------------% |
9f5d2ef078e8
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 do 100 i = itop, kplusp-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
|
432 big = abs(h(i,2)) + abs(h(i+1,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
|
433 if (h(i+1,1) .le. epsmch*big) 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
|
434 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
|
435 call ivout (logfil, 1, i, 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
|
436 & '_sapps: deflation at row/column no.') |
9f5d2ef078e8
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 call dvout (logfil, 1, h(i+1,1), 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
|
438 & '_sapps: the corresponding off diagonal element') |
9f5d2ef078e8
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 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
|
440 h(i+1,1) = 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
|
441 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
|
442 100 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
|
443 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
|
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 | Compute the (kev+1)-st column of (V*Q) 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
|
446 c | temporarily store the result in WORKD(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
|
447 c | This is not necessary if h(kev+1,1) = 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
|
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 |
9f5d2ef078e8
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 if ( h(kev+1,1) .gt. 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
|
451 & call dgemv ('N', n, kplusp, one, v, ldv, |
9f5d2ef078e8
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 & q(1,kev+1), 1, zero, workd(n+1), 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
|
453 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
|
454 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
|
455 c | Compute column 1 to kev of (V*Q) in backward order | |
9f5d2ef078e8
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 | taking advantage that Q is an upper triangular 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
|
457 c | with lower bandwidth 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
|
458 c | Place results in v(:,kplusp-kev:kplusp) temporarily. | |
9f5d2ef078e8
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 do 130 i = 1, kev |
9f5d2ef078e8
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 call dgemv ('N', n, kplusp-i+1, one, v, ldv, |
9f5d2ef078e8
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 & q(1,kev-i+1), 1, zero, workd, 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
|
464 call dcopy (n, workd, 1, v(1,kplusp-i+1), 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
|
465 130 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
|
466 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
|
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 | Move v(:,kplusp-kev+1:kplusp) into v(:,1:kev). | |
9f5d2ef078e8
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 %-------------------------------------------------% |
9f5d2ef078e8
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 call dlacpy ('All', n, kev, v(1,np+1), ldv, v, ldv) |
9f5d2ef078e8
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 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
|
473 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
|
474 c | Copy the (kev+1)-st column of (V*Q) in 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
|
475 c | appropriate place if h(kev+1,1) .ne. 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
|
476 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
|
477 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
|
478 if ( h(kev+1,1) .gt. 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
|
479 & call dcopy (n, workd(n+1), 1, v(1,kev+1), 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
|
480 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
|
481 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
|
482 c | Update the 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
|
483 c | r <- sigmak*r + betak*v(:,kev+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
|
484 c | 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
|
485 c | sigmak = (e_{kev+p}'*Q)*e_{kev} | |
9f5d2ef078e8
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 c | betak = e_{kev+1}'*H*e_{kev} | |
9f5d2ef078e8
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 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
|
488 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
|
489 call dscal (n, q(kplusp,kev), resid, 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
|
490 if (h(kev+1,1) .gt. 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
|
491 & call daxpy (n, h(kev+1,1), v(1,kev+1), 1, resid, 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
|
492 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
|
493 if (msglvl .gt. 1) 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
|
494 call dvout (logfil, 1, q(kplusp,kev), 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
|
495 & '_sapps: sigmak of the updated 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
|
496 call dvout (logfil, 1, h(kev+1,1), 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
|
497 & '_sapps: betak of the updated 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
|
498 call dvout (logfil, kev, h(1,2), 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
|
499 & '_sapps: updated main diagonal of H for next 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
|
500 if (kev .gt. 1) 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
|
501 call dvout (logfil, kev-1, h(2,1), 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
|
502 & '_sapps: updated sub diagonal of H for next 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
|
503 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
|
504 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
|
505 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
|
506 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
|
507 tsapps = tsapps + (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
|
508 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
|
509 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
|
510 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
|
511 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
|
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 | End of dsapps | |
9f5d2ef078e8
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 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
|
515 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
|
516 end |