code: private List<Set<Integer>> findNodeNeighborhood(CompRowMatrix A,
                  int[] diagind, double eps) {
  
              N = new ArrayList<Set<Integer>>(A.numRows());
  
              int[] rowptr = A.getRowPointers();
              int[] colind = A.getColumnIndices();
              double[] data = A.getData();
  
              for (int i = 0; i < A.numRows(); ++i) {
                  Set<Integer> Ni = new HashSet<Integer>();
  
                  double aii = data[diagind[i]];
                  for (int j = rowptr[i]; j < rowptr[i + 1]; ++j) {
                      double aij = data[j];
                      double ajj = data[diagind[colind[j]]];
  
                      if (Math.abs(aij) >= eps * Math.sqrt(aii * ajj))
                          Ni.add(colind[j]);
                  }
  
                  N.add(Ni);
              }
  
              return N;
          }
docs: Finds the strongly coupled node neighborhoods