diff --git a/andes/routines/eig.py b/andes/routines/eig.py
index <HASH>..<HASH> 100644
--- a/andes/routines/eig.py
+++ b/andes/routines/eig.py
@@ -304,10 +304,7 @@ class EIG(BaseRoutine):
         t2, s = elapsed(t1)
         self.exec_time = t2 - t1
 
-        logger.info('  Positive  %6g', self.n_positive)
-        logger.info('  Zeros     %6g', self.n_zeros)
-        logger.info('  Negative  %6g', self.n_negative)
-
+        logger.info(self.stats())
         logger.info('Eigenvalue analysis finished in {:s}.'.format(s))
 
         if not self.system.files.no_output:
@@ -324,6 +321,17 @@ class EIG(BaseRoutine):
             system.exit_code += 1
         return succeed
 
+    def stats(self):
+        """
+        Return statistics of results in a string.
+        """
+        out = list()
+        out.append('  Positive  %6g' % self.n_positive)
+        out.append('  Zeros     %6g' % self.n_zeros)
+        out.append('  Negative  %6g' % self.n_negative)
+
+        return '\n'.join(out)
+
     def plot(self, mu=None, fig=None, ax=None,
              left=-6, right=0.5, ymin=-8, ymax=8, damping=0.05,
              line_width=0.5, dpi=100, figsize=None, base_color='black',
Separate statistics into `EIG.stats()`.