// Outputs derivatives (DRbar scheme) in the form of ds StandardModel<Two_scale> StandardModel<Two_scale>::calc_beta() const { static const double oneO16Pisq = 1.0 / (16.0 * PI * PI); DoubleMatrix dyu(3, 3), dyd(3, 3), dye(3, 3); DoubleVector dg(3); dyu(3, 3) = oneO16Pisq * yu.display(3, 3) * ( -17.0 / 20.0 * sqr(displayGaugeCoupling(1)) - 9.0 / 4.0 * sqr(displayGaugeCoupling(2)) - 8.0 * sqr(displayGaugeCoupling(3)) + 4.5 * sqr(yu.display(3, 3)) + 1.5 * sqr(yd.display(3, 3)) + sqr(ye.display(3, 3))); dyd(3, 3) = oneO16Pisq * yd.display(3, 3) * ( -0.25 * sqr(displayGaugeCoupling(1)) - 9.0 / 4.0 * sqr(displayGaugeCoupling(2)) - 8.0 * sqr(displayGaugeCoupling(3)) + 1.5 * sqr(yu.display(3, 3)) + 4.5 * sqr(yd.display(3, 3)) + sqr(ye.display(3, 3))); dye(3, 3) = oneO16Pisq * ye.display(3, 3) * ( -9.0 / 4.0 * sqr(displayGaugeCoupling(1)) -9.0 / 4.0 * sqr(displayGaugeCoupling(2)) + 3.0 * sqr(yu.display(3, 3)) + 3.0 * sqr(yd.display(3, 3)) + 2.5 * sqr(ye.display(3, 3))); dg(1) = oneO16Pisq * std::pow(displayGaugeCoupling(1), 3) * (41.0 / 10.0); dg(2) = oneO16Pisq * std::pow(displayGaugeCoupling(2), 3) * (-19.0 / 6.0); dg(3) = oneO16Pisq * std::pow(displayGaugeCoupling(3), 3) * (-7.0); return StandardModel(dyu, dyd, dye, dg); }
int main() { int m, x, y; while(scanf("%d%d", &n, &m) != EOF) { init(); for(int i = 0; i < m; i++) { scanf("%d%d", &x, &y); add_edge(x, y); add_edge(y, x); } if(!dye()) { printf("No\n"); continue; } build(); when++; printf("%d\n", hungary()); } return 0; }