diff --git a/cpp/switchchain_canonical_properties.cpp b/cpp/switchchain_canonical_properties.cpp index 0ef9a6c3cda2474221862e96a7db23c2208ccd09..c923ce7fff08f522a2d55c94f3cc0b8b66013e18 100644 --- a/cpp/switchchain_canonical_properties.cpp +++ b/cpp/switchchain_canonical_properties.cpp @@ -50,16 +50,16 @@ int main(int argc, char* argv[]) { //const int totalDegreeSamples = 5000; auto getMixingTime = [](int n, float tau) { - return int(50.0f * (50.0f - 10.0f * (tau - 2.0f)) * n); + return int(50.0f * (50.0f - 5.0f * (tau - 2.0f)) * n); }; auto getMeasurements = [](int n, float tau) { (void)n; (void)tau; - return 10; + return 100; }; auto getMeasureSkip = [](int n, float tau) { (void)tau; - return n; // Take a sample every ... steps + return 10 * n; // Take a sample every ... steps }; // Output file @@ -79,7 +79,9 @@ int main(int argc, char* argv[]) { << " step " << numVerticesStep << std::endl; outfile << "tauValues: " << tauValues << std::endl; outfile << "Canonical degree sequence.\n"; - outfile << "mixingTime: 50 * (50 - 10 (tau - 2)) n\n"; + outfile << "mixingTime: 50 * (50 - 5 (tau - 2)) n\n"; + outfile << "measurements: 100\n"; + outfile << "measureSkip: 10 n\n"; outfile << "data:\n"; outfile << "1: {n,tau}\n"; outfile << "2: avgTriangles\n"; @@ -143,6 +145,8 @@ int main(int argc, char* argv[]) { // getSpectralValues(gs_start.computeLaplacianSpectrum()); long long trianglesTotal = 0; + chain.g.getTrackedTriangles() = chain.g.countTriangles(); + int movesDone = 0; avgAspectrum.fill(0); avgLspectrum.fill(0); @@ -150,9 +154,9 @@ int main(int argc, char* argv[]) { int measureSkip = getMeasureSkip(numVertices, tau); for (int i = 0; i < measurements; ++i) { for (int j = 0; j < measureSkip; ++j) - if (chain.doMove()) + if (chain.doMove(true)) ++movesDone; - trianglesTotal += chain.g.countTriangles(); + trianglesTotal += chain.g.getTrackedTriangles(); //auto sA = getSpectralValues(gs.computeAdjacencySpectrum()); //auto sL = getSpectralValues(gs.computeLaplacianSpectrum()); //for (auto i = 0u; i < 3; ++i) {