File: dlager.f

package info (click to toggle)
insighttoolkit 3.20.1%2Bgit20120521-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 80,652 kB
  • sloc: cpp: 458,133; ansic: 196,223; fortran: 28,000; python: 3,839; tcl: 1,811; sh: 1,184; java: 583; makefile: 430; csh: 220; perl: 193; xml: 20
file content (40 lines) | stat: -rw-r--r-- 957 bytes parent folder | download | duplicates (15)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
C
C***********************************************************************
C
      SUBROUTINE DLAGER(N, NBAND, NSTART, A, TMIN, TMAX)
C
C  THIS SUBROUTINE COMPUTES BOUNDS ON THE SPECTRUM OF A BY
C  EXAMINING THE GERSCHGORIN CIRCLES. ONLY THE NEWLY CREATED
C  CIRCLES ARE EXAMINED
C
C  FORMAL PARAMETERS
C
      INTEGER N, NBAND, NSTART
      DOUBLE PRECISION A(NBAND,1), TMIN, TMAX
C
C  LOCAL VARIABLES
C
      INTEGER I, K, L, M
      DOUBLE PRECISION TEMP
C
C  FUNCTIONS CALLED
C
      INTEGER MIN0
      DOUBLE PRECISION DMIN1, DMAX1
C
      DO 50 K = NSTART, N
         TEMP = 0.0D0
         DO 10 I = 2, NBAND
            TEMP = TEMP + DABS(A(I,K))
   10    CONTINUE
   20    L = MIN0(K,NBAND)
         IF(L .EQ. 1) GO TO 40
         DO 30 I = 2, L
            M = K - I + 1
            TEMP = TEMP + DABS(A(I,M))
   30    CONTINUE
   40    TMIN = DMIN1(TMIN, A(1,K)-TEMP)
         TMAX = DMAX1(TMAX, A(1,K)+TEMP)
   50 CONTINUE
      RETURN
      END