#define BOOST_PARAMETER_MAX_ARITY 12 #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char * const argv[]) { typedef std::vector> Nearest_landmark_range; typedef std::vector Nearest_landmark_table; typedef Gudhi::witness_complex::Witness_complex Witness_complex; Gudhi::Simplex_tree<> simplex_tree; Nearest_landmark_table nlt; // Example contains 5 witnesses and 5 landmarks Nearest_landmark_range w0 = {std::make_pair(0,0), std::make_pair(1,1), std::make_pair(2,2), std::make_pair(3,3), std::make_pair(4,4)}; nlt.push_back(w0); Nearest_landmark_range w1 = {std::make_pair(1,0), std::make_pair(2,1), std::make_pair(3,2), std::make_pair(4,3), std::make_pair(0,4)}; nlt.push_back(w1); Nearest_landmark_range w2 = {std::make_pair(2,0), std::make_pair(3,1), std::make_pair(4,2), std::make_pair(0,3), std::make_pair(1,4)}; nlt.push_back(w2); Nearest_landmark_range w3 = {std::make_pair(3,0), std::make_pair(4,1), std::make_pair(0,2), std::make_pair(1,3), std::make_pair(2,4)}; nlt.push_back(w3); Nearest_landmark_range w4 = {std::make_pair(4,0), std::make_pair(0,1), std::make_pair(1,2), std::make_pair(2,3), std::make_pair(3,4)}; nlt.push_back(w4); Witness_complex witness_complex(nlt); witness_complex.create_complex(simplex_tree, 4.1); std::cout << "Number of simplices: " << simplex_tree.num_simplices() << std::endl; Gudhi::persistent_cohomology::Persistent_cohomology, Gudhi::persistent_cohomology::Field_Zp > pcoh(simplex_tree); // initializes the coefficient field for homology pcoh.init_coefficients(11); pcoh.compute_persistent_cohomology(-0.1); pcoh.output_diagram(); }