anchor.diff:        call hecmw_precond_clear_timer()
         call hecmw_solve_iterative_printmsg(hecMESH,hecMAT)
         
  -      if (METHOD == 1) then 
  -        hecTKT%symmetric = .true.
  -      else 
  -        hecTKT%symmetric = .false.
  -      end if 
  -      
         SELECT CASE(METHOD)
           CASE (1)  !--CG
  +          hecTKT%symmetric = .true.
             call hecmw_solve_CG( hecMESH, hecTKT, ITER, RESID, ERROR, TIME_setup, TIME_sol, TIME_comm )
           CASE (2)  !--BiCGSTAB
  +          hecTKT%symmetric = .false.
             call hecmw_solve_BiCGSTAB( hecMESH,hecTKT, ITER, RESID, ERROR,TIME_setup, TIME_sol, TIME_comm )
           CASE (3)  !--GMRES
  +          hecTKT%symmetric = .false.
             call hecmw_solve_GMRES( hecMESH,hecTKT, ITER, RESID, ERROR, TIME_setup, TIME_sol, TIME_comm )
           CASE (4)  !--GPBiCG 
  +          hecTKT%symmetric = .false.
             call hecmw_solve_GPBiCG( hecMESH,hecTKT, ITER, RESID, ERROR, TIME_setup, TIME_sol, TIME_comm )
           CASE default
             ERROR = HECMW_SOLVER_ERROR_INCONS_PC  !!未定義なMETHOD!!
             call hecmw_solve_error (hecMESH, ERROR)
         END SELECT
   
  -      if ((ERROR.eq.HECMW_SOLVER_ERROR_DIVERGE_PC .or. &
  -           ERROR.eq.HECMW_SOLVER_ERROR_DIVERGE_MAT) .and. &
  -           (PRECOND.ge.10 .and. PRECOND.lt.20) .and. &
  -           auto_sigma_diag.eq.1 .and. &
  -           SIGMA_DIAG.lt.2.d0) then
  +      if (  (ERROR.eq.HECMW_SOLVER_ERROR_DIVERGE_PC .or. ERROR.eq.HECMW_SOLVER_ERROR_DIVERGE_MAT) .and. &
  +           (PRECOND.ge.10 .and. PRECOND.lt.20) .and. auto_sigma_diag.eq.1 .and. SIGMA_DIAG.lt.2.d0) then
           SIGMA_DIAG = SIGMA_DIAG + 0.1
           if (hecMESH%my_rank.eq.0) write(*,*) 'Increasing SIGMA_DIAG to', SIGMA_DIAG
         else
  
positive.code:           ! call hecmw_mat_finalize(hecTKT)
            ! deallocate(hecTKT)
        END SELECT
      endif
    end subroutine hecmw_solve_postmpc
  
    subroutine hecmw_solve_iterative_printmsg (hecMESH, hecMAT)
  
negative.code:     endif
  
      ! exchange diagonal elements of overlap region
      call hecmw_mat_dump(hecTKT, hecMESH)
      call hecmw_matvec_set_async(hecTKT)
  
  