Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-02 - decus/20-0026/trace.ssp
There are 2 other files named trace.ssp in the archive. Click here to see a list.
C                                                                       TRAC  10
C     ..................................................................TRAC  20
C                                                                       TRAC  30
C        SUBROUTINE TRACE                                               TRAC  40
C                                                                       TRAC  50
C        PURPOSE                                                        TRAC  60
C           COMPUTE CUMULATIVE PERCENTAGE OF EIGENVALUES GREATER THAN   TRAC  70
C           OR EQUAL TO A CONSTANT SPECIFIED BY THE USER.  THIS SUB-    TRAC  80
C           ROUTINE NORMALLY OCCURS IN A SEQUENCE OF CALLS TO SUB-      TRAC  90
C           ROUTINES CORRE, EIGEN, TRACE, LOAD, AND VARMX IN THE PER-   TRAC 100
C           FORMANCE OF A FACTOR ANALYSIS.                              TRAC 110
C                                                                       TRAC 120
C        USAGE                                                          TRAC 130
C           CALL TRACE (M,R,CON,K,D)                                    TRAC 140
C                                                                       TRAC 150
C        DESCRIPTION OF PARAMETERS                                      TRAC 160
C           M     - NUMBER OF VARIABLES. M MUST BE > OR = TO 1          TRAC 170
C           R     - INPUT MATRIX (SYMMETRIC AND STORED IN COMPRESSED    TRAC 180
C                   FORM WITH ONLY UPPER TRIANGLE BY COLUMN IN CORE)    TRAC 190
C                   CONTAINING EIGENVALUES IN DIAGONAL.  EIGENVALUES ARETRAC 200
C                   ARRANGED IN DESCENDING ORDER.  THE ORDER OF MATRIX RTRAC 210
C                   IS M BY M.  ONLY M*(M+1)/2 ELEMENTS ARE IN STORAGE. TRAC 220
C                   (STORAGE MODE OF 1)                                 TRAC 230
C           CON   - A CONSTANT USED TO DECIDE HOW MANY EIGENVALUES TO   TRAC 240
C                   RETAIN.  CUMULATIVE PERCENTAGE OF EIGENVALUES       TRAC 250
C                   WHICH ARE GREATER THAN OR EQUAL TO THIS VALUE IS    TRAC 260
C                   CALCULATED.                                         TRAC 270
C           K     - OUTPUT VARIABLE CONTAINING THE NUMBER OF EIGENVALUESTRAC 280
C                   GREATER THAN OR EQUAL TO CON.  (K IS THE NUMBER OF  TRAC 290
C                   FACTORS.)                                           TRAC 300
C           D     - OUTPUT VECTOR OF LENGTH M CONTAINING CUMULATIVE     TRAC 310
C                   PERCENTAGE OF EIGENVALUES WHICH ARE GREATER THAN    TRAC 320
C                   OR EQUAL TO CON.                                    TRAC 330
C        REMARKS                                                        TRAC 340
C           NONE                                                        TRAC 350
C                                                                       TRAC 360
C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED                  TRAC 370
C           NONE                                                        TRAC 380
C                                                                       TRAC 390
C        METHOD                                                         TRAC 400
C           EACH EIGENVALUE GREATER THAN OR EQUAL TO CON IS DIVIDED BY MTRAC 410
C           AND THE RESULT IS ADDED TO THE PREVIOUS TOTAL TO OBTAIN     TRAC 420
C           THE CUMULATIVE PERCENTAGE FOR EACH EIGENVALUE.              TRAC 430
C                                                                       TRAC 440
C     ..................................................................TRAC 450
C                                                                       TRAC 460
      SUBROUTINE TRACE (M,R,CON,K,D)                                    TRAC 470
      DIMENSION R(1),D(1)                                               TRAC 480
C                                                                       TRAC 490
C        ...............................................................TRAC 500
C                                                                       TRAC 510
C        IF A DOUBLE PRECISION VERSION OF THIS ROUTINE IS DESIRED, THE  TRAC 520
C        C IN COLUMN 1 SHOULD BE REMOVED FROM THE DOUBLE PRECISION      TRAC 530
C        STATEMENT WHICH FOLLOWS.                                       TRAC 540
C                                                                       TRAC 550
C     DOUBLE PRECISION R,D                                              TRAC 560
C                                                                       TRAC 570
C        THE C MUST ALSO BE REMOVED FROM DOUBLE PRECISION STATEMENTS    TRAC 580
C        APPEARING IN OTHER ROUTINES USED IN CONJUNCTION WITH THIS      TRAC 590
C        ROUTINE.                                                       TRAC 600
C                                                                       TRAC 610
C        ...............................................................TRAC 620
C                                                                       TRAC 630
      FM=M                                                              TRAC 640
      L=0                                                               TRAC 650
      DO 100 I=1,M                                                      TRAC 660
      L=L+I                                                             TRAC 670
  100 D(I)=R(L)                                                         TRAC 680
      K=0                                                               TRAC 690
C                                                                       TRAC 700
C     TEST WHETHER I-TH EIGENVALUE IS GREATER                           TRAC 710
C     THAN OR EQUAL TO THE CONSTANT                                     TRAC 720
C                                                                       TRAC 730
      DO 110 I=1,M                                                      TRAC 740
      IF(D(I)-CON) 120, 105, 105                                        TRAC 750
  105 K=K+1                                                             TRAC 760
  110 D(I)=D(I)/FM                                                      TRAC 770
C                                                                       TRAC 780
C     COMPUTE CUMULATIVE PERCENTAGE OF EIGENVALUES                      TRAC 790
C                                                                       TRAC 800
  120 DO 130 I=2,K                                                      TRAC 810
  130 D(I)=D(I)+D(I-1)                                                  TRAC 820
      RETURN                                                            TRAC 830
      END                                                               TRAC 840