Be more verbose in interpret_{reduc., pers.}()
authorStefan Huber <shuber@sthu.org>
Fri, 21 Nov 2014 19:22:49 +0000 (20:22 +0100)
committerStefan Huber <shuber@sthu.org>
Fri, 21 Nov 2014 19:22:49 +0000 (20:22 +0100)
include/libstick-0.1/persistence.h

index d7cc25f23878266da513ea123399d7b2522d1092..b9fc080ee589c951f9a16a0e354dcc774888028e 100644 (file)
@@ -200,7 +200,7 @@ class persistence {
                         break;
                 }
 
-                os << "(value: " << order.get_simplex(c).value << ")" << std::endl;
+                os << " \t\tvalue: " << order.get_simplex(c).value << std::endl;
                 os << "  boundary: " << bm.get_column(c) << std::endl;
 
                 typename boolean_colmatrix<IT>::column_type col = rbm.get_column(c);
@@ -280,13 +280,20 @@ class persistence {
             for (int d=-1; d <= MAXDIM; ++d) {
                 os << "Dimension " << d << std::endl;
                 const diagram &dia = get_persistence_diagram(d);
+
                 for (unsigned i=0; i < dia.births.size(); ++i) {
+                    const IT birth = dia.births[i].birth;
+                    const IT death = dia.births[i].death;
+
                     os << "  ";
-                    if (dia.births[i].death > 0)
-                        os << dia.births[i].birth << "\033[1;31m -> " << dia.births[i].death;
-                    else
-                        os << "\033[1;32m" << dia.births[i].birth;
-                    os << "\033[0;m" << std::endl;
+                    if (death > 0) {
+                        const scomplex& c = get_order().get_complex();
+                        const VT pers = c.simplices[death].value - c.simplices[birth].value;
+                        os << birth << "\033[1;31m -> " << death << "\033[0;m" << " \tpers: " << pers;
+                    } else {
+                        os << "\033[1;32m" << birth << "\033[0;m" << " \t\t[essential]";
+                    }
+                    os << std::endl;
                 }
             }
         }