diff --git a/Source/Fortran/FermiOperatorModule.F90 b/Source/Fortran/FermiOperatorModule.F90 index 768478a4..b8f88a03 100644 --- a/Source/Fortran/FermiOperatorModule.F90 +++ b/Source/Fortran/FermiOperatorModule.F90 @@ -185,6 +185,7 @@ SUBROUTINE ComputeDenseFOE(H, ISQ, trace, K, inv_temp_in, & !! Scale the eigenvectors CALL MatrixDiagonalScale(vecs, gathered_list) + CALL FilterMatrix(vecs, params%threshold) !! Multiply Back Together CALL TransposeMatrix(vecs, vecsT) diff --git a/Source/Fortran/distributed_includes/FilterMatrix.f90 b/Source/Fortran/distributed_includes/FilterMatrix.f90 index 0373f513..2530b267 100644 --- a/Source/Fortran/distributed_includes/FilterMatrix.f90 +++ b/Source/Fortran/distributed_includes/FilterMatrix.f90 @@ -1,7 +1,5 @@ !! Local Data - TYPE(ProcessGrid_t) :: grid_temp - LOGICAL :: is_complex_temp - INTEGER :: II, size_temp + INTEGER :: II CALL GetMatrixTripletList(this, tlist) CALL ConstructTripletList(new_list) @@ -13,10 +11,4 @@ END IF END DO - size_temp = this%actual_matrix_dimension - grid_temp = this%process_grid - is_complex_temp = this%is_complex - CALL DestructMatrix(this) - CALL ConstructEmptyMatrix(this, size_temp, grid_temp, is_complex_temp) - - CALL FillMatrixFromTripletList(this, new_list) + CALL FillMatrixFromTripletList(this, new_list, preduplicated_in=.TRUE.)