38 IMPLICIT DOUBLE PRECISION (
a-
h,
o-
z)
58 2/mn7ext/ u(mne) ,alim(mne) ,blim(mne)
59 3/mn7err/ erp(mni) ,ern(mni) ,werr(mni) ,globcc(mni)
60 4/mn7inx/ nvarl(mne) ,niofex(mne),nexofi(mni)
61 5/mn7int/
x(mni) ,xt(mni) ,dirin(mni)
62 6/mn7fx2/
xs(mni) ,xts(mni) ,dirins(mni)
63 7/mn7der/ grd(mni) ,g2(mni) ,gstep(mni) ,gin(mne) ,dgrd(mni)
64 8/mn7fx3/ grds(mni) ,g2s(mni) ,gsteps(mni)
65 9/mn7fx1/ ipfix(mni) ,npfix
66 a/mn7var/ vhmat(mnihl)
67 b/mn7vat/ vthmat(mnihl)
68 c/mn7sim/
p(mni,mni+1),pstar(mni),pstst(mni) ,pbar(mni),prho(mni)
70 parameter(maxdbg=10, maxstk=10, maxcwd=20,
maxp=30, maxcpt=101)
73 d/mn7npr/ maxint ,npar ,maxext ,nu
74 e/mn7iou/ isysrd ,isyswr ,isyssa ,npagwd ,npagln ,newpag
75 e/mn7io2/ istkrd(maxstk) ,nstkrd ,istkwr(maxstk) ,nstkwr
76 f/mn7tit/ cfrom ,cstatu ,ctitl ,cword ,cundef ,cvrsn ,covmes
77 g/mn7flg/ isw(7) ,idbg(0:maxdbg) ,nblock ,icomnd
78 h/mn7min/ amin ,
up ,edm ,fval3 ,epsi ,apsi ,dcovar
79 i/mn7cnv/ nfcn ,nfcnmx ,nfcnlc ,nfcnfr ,itaur,istrat,nwrmes(2)
81 k/mn7log/ lwarn ,lrepor ,limset ,lnolim ,lnewmn ,lphead
82 l/mn7cns/ epsmac ,epsma2 ,vlimlo ,vlimhi ,undefi ,bigedm,updflt
83 m/mn7rpt/ xpt(maxcpt) ,ypt(maxcpt)
84 n/mn7cpt/ chpt(maxcpt)
85 o/mn7xcr/ xmidcr ,ymidcr ,xdircr ,ydircr ,ke1cr ,ke2cr
86 CHARACTER CTITL*50, CWORD*(maxcwd), CUNDEF*10, CFROM*8,
87 + cvrsn*6, covmes(0:3)*22, cstatu*10, chpt*1
88 LOGICAL LWARN, LREPOR, LIMSET, LNOLIM, LNEWMN, LPHEAD
92 epspdf = max(epsmin, epsma2)
97 IF (vhmat(ndex) .LE. zero)
THEN 98 WRITE (chbuff(1:3),
'(I3)')
i 100 +
'Negative diagonal element'//chbuff(1:3)//
' in Error Matrix')
102 IF (vhmat(ndex) .LT. dgmin) dgmin = vhmat(ndex)
104 IF (dgmin .LE. zero)
THEN 105 dg = (one+epspdf) - dgmin
106 WRITE (chbuff,
'(E12.2)') dg
108 + chbuff//
' added to diagonal of error matrix')
116 vhmat(ndexd) = vhmat(ndexd) + dg
117 IF (vhmat(ndexd) .LE. zero) vhmat(ndexd) = 1.0
118 s(
i) = 1.0/sqrt(vhmat(ndexd))
121 213
p(
i,
j) = vhmat(ndex) * s(
i)*s(
j)
123 CALL mneig(
p,maxint,npar,maxint,pstar,epspdf,ifault)
127 IF (pstar(ip) .LT. pmin) pmin = pstar(ip)
128 IF (pstar(ip) .GT. pmax) pmax = pstar(ip)
130 pmax = max(abs(pmax), one)
131 IF ((pmin .LE. zero .AND. lwarn) .OR. isw(5) .GE. 2)
THEN 133 WRITE (isyswr,551) (pstar(ip),ip=1,npar)
135 IF (pmin .GT. epspdf*pmax)
GO TO 217
136 IF (isw(2) .EQ. 3) isw(2)=2
137 padd = 1.0
e-3*pmax - pmin
140 216 vhmat(ndex) = vhmat(ndex) *(1.0 + padd)
142 WRITE (chbuff,
'(G12.5)') padd
144 +
'MATRIX FORCED POS-DEF BY ADDING '//chbuff//
' TO DIAGONAL.')
147 550
FORMAT (
' EIGENVALUES OF SECOND-DERIVATIVE MATRIX:' )
148 551
FORMAT (7
x,6e12.4)
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
subroutine mneig(A, NDIMA, N, MITS, WORK, PRECIS, IFAULT)
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data h g *is for param c g data up(2, 1)/7.0d0/
dE dx *! Nuc Int sampling table e
! constants thru Cosmos real ! if multiplied to deg radian Torad ! light velocity m sec ! infinty ! kg m2 *Togpcm2 g cm2 ! g cm2 *Tokgpm2 kg m2 ! cm *Tom m ! m *Tocm cm ! g cm3 *Tokgpm3 kg m3 ! kg m3 *Togpcm3 g cm3 ! sec *Tonsec nsec ! Tesla m ! Avogadro *A2deninv ! mfp *n * xs
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
dE dx *! Nuc Int sampling table d
dE dx *! Nuc Int sampling table b
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data m
dE dx *! Nuc Int sampling table h
dE dx *! Nuc Int sampling table g
subroutine mnwarn(COPT, CORG, CMES)
! structure defining a particle at production ! Basic idea of what is to be contained in ! the particle structue is that dynamical ones should be included those derivable from the particle code ! is not included ******************************************************type fmom momentum sequence union map real e endmap map real * x
dE dx *! Nuc Int sampling table f
dE dx *! Nuc Int sampling table c