anchor.diff:  
     END SUBROUTINE EigenToNT
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  +  !> Converts the dense eigenvalue matrix stored duplicated across processes.
  +  !! @param[in] WD the dense eigenvalue matrix.
  +  !! @param[inout] V the distributed sparse matrix.
  +  !! @param[in] solver_parameters for thresholding small values.
  +  !! @param[inout] info about the calculation.
  +  SUBROUTINE ExtractEigenvalues(WD, W, exa)
  +    !! Parameters
  +    REAL(NTREAL), DIMENSION(:), INTENT(IN) :: WD
  +    TYPE(DistributedSparseMatrix_t), INTENT(INOUT) :: W
  +    TYPE(ExaHelper_t) :: exa
  +    !! Local Variables
  +    TYPE(TripletList_t) :: triplet_w
  +    TYPE(Triplet_t) :: trip
  +    INTEGER :: wstart, wend, wsize
  +    INTEGER :: II
  +
  +    !! The Matrices We'll Build
  +    CALL ConstructEmptyDistributedSparseMatrix(W, exa%mat_dim)
  +
  +    !! Copy To Triplet List
  +    wsize = MAX(CEILING((1.0*exa%mat_dim)/exa%num_procs), 1)
  +    wstart = wsize*exa%global_rank + 1
  +    wend = MIN(wsize*(exa%global_rank+1), exa%mat_dim)
  +
  +    CALL ConstructTripletList(triplet_w)
  +    DO II = wstart, wend
  +       CALL SetTriplet(trip, II, II, WD(II))
  +       CALL AppendToTripletList(triplet_w, trip)
  +    END DO
  +
  +    !! Go to global matrix
  +    CALL FillFromTripletList(W, triplet_w)
  +
  +    !! Cleanup
  +    CALL DestructTripletList(triplet_w)
  +
  +  END SUBROUTINE ExtractEigenvalues
  +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     !> The routine which calls the eigenexa driver.
     !! @param[in] A the matrix to decompose.
     !! @param[inout] V the eigenvectors.
  
positive.code:     CALL EigenToNT(VD, eigenvectors, solver_parameters, exa)
      CALL StopTimer("EigenToNT")
  
      CALL CleanUp(AD, VD, WD)
  
      IF (solver_parameters%be_verbose) THEN
  
negative.code: 
      !! Setup the MPI Communicator
      CALL MPI_Comm_dup(A%process_grid%global_comm, exa%comm, ierr)
      CALL MPI_Comm_rank(exa%comm, exa%global_rank, ierr)
  
      !! Build EigenExa Process Grid
      CALL eigen_init(exa%comm)
  