anchor.diff:       !> A communicator for performing the calculation on.
        INTEGER :: communicator
        !! Blocking Information
  +     !> First block row to work on locally..
        INTEGER :: block_start
  +     !> Second block row to work on locally.
        INTEGER :: block_end
  +     !> How many block rows there are.
        INTEGER :: block_rows
  +     !> How many block columsn there are.
        INTEGER :: block_columns
  +     !> Local rows.
        INTEGER :: rows
  +     !> Local columns.
        INTEGER :: columns
  +     !> First row stored locally.
        INTEGER :: start_row
  +     !> First column stored locally.
        INTEGER :: start_column
  +     !> For evenly dividing the columns.
        INTEGER :: column_divisor
        !! For Inter Process Swaps
        INTEGER, DIMENSION(:), ALLOCATABLE :: phase_array
  
positive.code: 
      !! Convert to global matrix
      CALL FillGlobalMatrix(VBlocks, jacobi_data, eigenvectors)
  
      ! Cleanup
      DO counter = 1, jacobi_data%num_processes*2
  
negative.code:     INTEGER :: counter, iteration
      INTEGER :: ierr
  
      !! Write info about the solver
      IF (solver_parameters%be_verbose) THEN
         CALL WriteHeader("Eigen Solver")
         CALL EnterSubLog
         CALL WriteElement(key="Method", text_value_in="Jacobi")
         CALL WriteCitation("golub2012matrix")
         CALL PrintIterativeSolverParameters(solver_parameters)
      END IF
  
      !! Setup Communication
      CALL InitializeJacobi(jacobi_data, this)
  
  