source: Sophya/trunk/SophyaExt/CodeMinuit/code/mnmatu.F@ 4021

Last change on this file since 4021 was 2403, checked in by cmv, 22 years ago

Creation du module de code source de MINUIT (CERNLIB) extrait par CMV

cmv 11/06/2003

File size: 2.2 KB
Line 
1*
2* $Id: mnmatu.F,v 1.1.1.1 2003-06-11 14:18:28 cmv Exp $
3*
4* $Log: not supported by cvs2svn $
5* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni
6* Minuit
7*
8*
9#include "minuit/pilot.h"
10 SUBROUTINE MNMATU(KODE)
11#include "minuit/d506dp.inc"
12CC prints the covariance matrix v when KODE=1.
13CC always prints the global correlations, and
14CC calculates and prints the individual correlation coefficients
15CC
16#include "minuit/d506cm.inc"
17 DIMENSION VLINE(MNI)
18 ISW2 = ISW(2)
19 IF (ISW2 .LT. 1) THEN
20 WRITE (ISYSWR,'(1X,A)') COVMES(ISW2)
21 GO TO 500
22 ENDIF
23 IF (NPAR .EQ. 0) THEN
24 WRITE (ISYSWR,'('' MNMATU: NPAR=0'')')
25 GO TO 500
26 ENDIF
27C . . . . .external error matrix
28 IF (KODE .EQ. 1) THEN
29 ISW5 = ISW(5)
30 ISW(5) = 2
31 CALL MNEMAT(P,MAXINT)
32 IF (ISW2.LT.3) WRITE (ISYSWR,'(1X,A)') COVMES(ISW2)
33 ISW(5) = ISW5
34 ENDIF
35C . . . . . correlation coeffs. .
36 IF (NPAR .LE. 1) GO TO 500
37 CALL MNWERR
38C NCOEF is number of coeff. that fit on one line, not to exceed 20
39 NCOEF = (NPAGWD-19)/6
40 NCOEF = MIN(NCOEF,20)
41 NPARM = MIN(NPAR,NCOEF)
42 WRITE (ISYSWR, 150) (NEXOFI(ID),ID=1,NPARM)
43 150 FORMAT (/36H PARAMETER CORRELATION COEFFICIENTS /
44 + 18H NO. GLOBAL ,20I6)
45 DO 200 I= 1, NPAR
46 IX = NEXOFI(I)
47 NDI = I*(I+1)/2
48 DO 170 J= 1, NPAR
49 M = MAX(I,J)
50 N = MIN(I,J)
51 NDEX = M*(M-1)/2 + N
52 NDJ = J*(J+1)/2
53 170 VLINE(J) = VHMAT(NDEX)/SQRT(ABS(VHMAT(NDI)*VHMAT(NDJ)))
54 NPARM = MIN(NPAR,NCOEF)
55 WRITE (ISYSWR,171) IX, GLOBCC(I), (VLINE(IT),IT=1,NPARM)
56 171 FORMAT (6X,I3,2X,F7.5,1X,20F6.3)
57 IF (I.LE.NPARM) GO TO 200
58 DO 190 ISO= 1, 10
59 NSOFAR = NPARM
60 NPARM = MIN(NPAR,NSOFAR+NCOEF)
61 WRITE (ISYSWR,181) (VLINE(IT),IT=NSOFAR+1,NPARM)
62 181 FORMAT (19X,20F6.3)
63 IF (I .LE. NPARM) GO TO 192
64 190 CONTINUE
65 192 CONTINUE
66 200 CONTINUE
67 IF (ISW2.LT.3) WRITE (ISYSWR,'(1X,A)') COVMES(ISW2)
68 500 RETURN
69 END
Note: See TracBrowser for help on using the repository browser.