C HMC1O1    SOURCE    CHAT      05/01/13    00:24:46     5004

      SUBROUTINE HESSMAC1O1 (X,NDIMX,AMAT,NDIMA,NMODEL,DELTAX,TYPX)
      IMPLICIT INTEGER(I-N)
      integer ndimx,ndima,nmodel,i,j
      real*8    x(ndimx),Amat(ndima,ndima),deltax
      real*8    auxx(8),vecm(8),dx,typx(ndimx)
      do i=1,8
          auxx(i)=0.D0
          vecm(i)=0.D0
        enddo
      call vecflMAC(x,ndimx,vecm,nmodel)
      do i=1,ndimx
         auxx(i)=x(i)
      enddo
      do i=1,ndimx
         dx=sign(deltax*max(abs(x(i)),typx(i)),x(i))
         auxx(i)=x(i)+dx
         call vecflMAC(auxx,ndimx,Amat(1,i),nmodel)
         auxx(i)=x(i)
         do j=1,ndimx
            Amat(j,i)=(Amat(j,i)-vecm(j))/dx
         enddo
      enddo
      return
      end



