| 
            Last change
 on this file since 2984 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:
            1.4 KB
           | 
        
      
      
| Line |   | 
|---|
| 1 | *
 | 
|---|
| 2 | * $Id: mnrazz.F,v 1.1.1.1 2003-06-11 14:18:29 cmv Exp $
 | 
|---|
| 3 | *
 | 
|---|
| 4 | * $Log: not supported by cvs2svn $
 | 
|---|
| 5 | * Revision 1.1.1.1  1996/03/07 14:31:31  mclareni
 | 
|---|
| 6 | * Minuit
 | 
|---|
| 7 | *
 | 
|---|
| 8 | *
 | 
|---|
| 9 | #include "minuit/pilot.h"
 | 
|---|
| 10 |       SUBROUTINE MNRAZZ(YNEW,PNEW,Y,JH,JL)
 | 
|---|
| 11 | #include "minuit/d506dp.inc"
 | 
|---|
| 12 | CC        Called only by MNSIMP (and MNIMPR) to add a new point
 | 
|---|
| 13 | CC        and remove an old one from the current simplex, and get the
 | 
|---|
| 14 | CC        estimated distance to minimum.
 | 
|---|
| 15 | CC
 | 
|---|
| 16 | #include "minuit/d506cm.inc"
 | 
|---|
| 17 |       DIMENSION PNEW(*), Y(*)
 | 
|---|
| 18 |       DO 10 I=1,NPAR
 | 
|---|
| 19 |    10 P(I,JH) = PNEW(I)
 | 
|---|
| 20 |       Y(JH)=YNEW
 | 
|---|
| 21 |       IF(YNEW .LT. AMIN) THEN
 | 
|---|
| 22 |         DO 15 I=1,NPAR
 | 
|---|
| 23 |    15   X(I) = PNEW(I)
 | 
|---|
| 24 |         CALL MNINEX(X)
 | 
|---|
| 25 |         AMIN = YNEW
 | 
|---|
| 26 |         CSTATU = 'PROGRESS  '
 | 
|---|
| 27 |         JL=JH
 | 
|---|
| 28 |       ENDIF
 | 
|---|
| 29 |       JH = 1
 | 
|---|
| 30 |       NPARP1 = NPAR+1
 | 
|---|
| 31 |    20 DO 25 J=2,NPARP1
 | 
|---|
| 32 |       IF (Y(J) .GT. Y(JH))  JH = J
 | 
|---|
| 33 |    25 CONTINUE
 | 
|---|
| 34 |       EDM = Y(JH) - Y(JL)
 | 
|---|
| 35 |       IF (EDM .LE. ZERO)  GO TO 45
 | 
|---|
| 36 |       DO 35 I= 1, NPAR
 | 
|---|
| 37 |       PBIG = P(I,1)
 | 
|---|
| 38 |       PLIT = PBIG
 | 
|---|
| 39 |       DO 30 J= 2, NPARP1
 | 
|---|
| 40 |       IF (P(I,J) .GT. PBIG)  PBIG = P(I,J)
 | 
|---|
| 41 |       IF (P(I,J) .LT. PLIT)  PLIT = P(I,J)
 | 
|---|
| 42 |    30 CONTINUE
 | 
|---|
| 43 |       DIRIN(I) = PBIG - PLIT
 | 
|---|
| 44 |    35 CONTINUE
 | 
|---|
| 45 |    40 RETURN
 | 
|---|
| 46 |    45 WRITE (ISYSWR, 1000)  NPAR
 | 
|---|
| 47 |       GO TO 40
 | 
|---|
| 48 |  1000 FORMAT ('   FUNCTION VALUE DOES NOT SEEM TO DEPEND ON ANY OF THE',
 | 
|---|
| 49 |      +    I3,' VARIABLE PARAMETERS.' /10X,'VERIFY THAT STEP SIZES ARE',
 | 
|---|
| 50 |      +    ' BIG ENOUGH AND CHECK FCN LOGIC.'/1X,79(1H*)/1X,79(1H*)/)
 | 
|---|
| 51 |       END
 | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.