anchor.diff:      integer:: mysize
       if (ispacked(x)) then 
          mysize=(x%rank*(x%rank+1))/2
  -        call zcopy(mysize,getpackedpointer(x),1,getpackedpointer(y),1)
  +        call zcopy(mysize,x%zap,1,getpackedpointer(y),1)
       else
          mysize=x%rank*(x%rank)
  -        call zcopy(mysize,get2dpointer(x),1,get2dpointer(y),1)
  +        call zcopy(mysize,x%za,1,get2dpointer(y),1)
       endif
     end subroutine 
     
  
positive.code:     integer info
      if(self%ludecomposed) then
         if(.not.ispacked(self))then
            call ZGETRS( 'N', self%rank, 1, get2dpointer(self), self%rank, self%IPIV, &
                 b , self%rank, INFO)
         else
            call ZHPTRS( 'U', self%rank, 1, getpackedpointer(self), self%IPIV, b, self%rank, INFO )
         endif
         if (info.ne.0)then
            write(*,*)"error in iterativearpacksecequn Hermiteanmatrixlinsolve ",info
  
negative.code:     complex(8),intent(inout)::vout(:)
      
      if(self%packed.eqv..true.)then
         call zhpmv("U",self%rank,alpha,self%zap,vin, 1,beta,vout, 1)
      else
         call zhemv("U",self%rank,alpha,self%za,self%rank,vin, 1,beta,vout, 1)
      endif
    end subroutine Hermiteanmatrixvector
    
  