ADAS Subroutine xxycf2
SUBROUTINE XXYCF2(FCN, M, N, X, FVEC, FJAC, B, C)
C-----------------------------------------------------------------------
C
C ROUTINE: XXYCF2
C
C PURPOSE: CALCULATES AN ESTIMATE OF THE ELEMENTS OF THE VARIANCE-COVARIANCE
C MATRIX OF THE ESTIMATED REGRESSION COEFFICIENTS FOR A NON-LINEAR
C LEAST-SQUARES PROBLEM.
C
C REPLACES NAG ROUTINE E04YCF WHEN CALLED AFTER E04GCF OR ANOTHER
C ROUTINE THAT USES FIRST DERIVATIVES.
C*****************************************************************************
C THIS ROUTINE CAN ONLY BE USED WHEN FIRST DERIVATIVES ARE AVAILABLE.
C*****************************************************************************
C SEE THE DOCUMENTATION OF E04YCF AND THE E04 SERIES FOR MORE
C INFORMATION ON THE MATHEMATICS OF CALCULATING THE VARIANCE-
C COVARIANCE MATRIX.
C
C CALLING PROGRAM: GENERAL USE
C
C INPUT:
C SUBROUTINE FCN - CALCULATES THE FUNCTIONS AND THEIR DERIVATIVES.
C IF ONE IS DIRECTLY REPLACING THE NAG ROUTINE THEN
C THIS ARGUMENT WILL BE LSFUN2 IN THE CALLING
C PROGRAM, AND LSFUN2 WILL HAVE TO BE MODIFIED TO
C ACCOMMODATE THE IFLAG VARIABLE. SEE BELOW FOR DETAILS.
C (I*4) M - NUMBER OF FUNCTIONS
C (I*4) N - NUMBER OF VARIABLES, N<=M
C (R*8) X - VECTOR OF THE ESTIMATED SOLUTION
C (R*8) FVEC() - THE FUNCTION EVALUATED AT X
C (R*8) FJAC() - A WORK MATRIX OF DIMENSION (M,N)
C (R*8) B() - A WORK VECTOR OF DIMENSION N
C
C OUTPUT:
C (R*8) C(,) - THE VARIANCE-COVARIANCE MATRIX. DIMENSIONS NxN.
C
C ROUTINES:
C-----------------------------------------------------------------------
C NAME SOURCE PURPOSE
C-----------------------------------------------------------------------
C XXMINV ADAS INVERTS A SQUARE MATRIX
C FCN USER CALCULATES FUNCTIONS AND THEIR FIRST DERIVATIVES
C {
C SUBROUTINE FCN(M,N,X,FVEC,FJAC,LDFJAC,IFLAG)
C INTEGER M,N,IFLAG, LDFJAC
C REAL*8 X(N), FVEC(M), FJAC(LDFJAC,N)
C INPUT:
C M,N - AS ABOVE
C LDFJAC - FIRST DIMENSION OF FJAC
C X - VECTOR AT WHICH THE FUNCTION IS TO BE EVALUATED
C IFLAG - 1=> CALCULATE FVEC BUT DON'T CHANGE FJAC
C - 2=> CALCULATE FJAC BUT DON'T CHANGE FVEC
C OUTPUT:
C FVEC - FUNCTION EVALUATED AT X OR NOT CHANGED
C FJAC - JACOBIAN OF FUNCTION EVALUATED AT X OR NOT CHANGED
C }
C-----------------------------------------------------------------------
C
C AUTHOR: WILLIAM OSBORN (TESSELLA SUPPORT SERVICES PLC.)
C
C DATE: 31-05-96
C
C VERSION 1.1 DATE: 31-05-96
C MODIFIED: WILLIAM OSBORN
C - FIRST VERSION
C
C VERSION 1.2 DATE: 16-05-07
C MODIFIED: ALLAN WHITEFORD
C - Updated comments as part of subroutine documentation
C procedure.
C
C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
INTEGER M, N
REAL*8 B(N), C(N,N), FJAC(M,N), FVEC(M)
REAL*8 X(N)