private void button10_Click(object sender, EventArgs e) { double beta = 10; SU3 Field = new SU3(int.Parse(tbNs.Text), int.Parse(tbNt.Text), beta, 0, true);//4х2 field beta=6 flux=0 for (int i = 0; i < 10; i++) Field.Sweep(false); Dirac Dt = new Dirac(Field); Complex res = Complex.Zero; for (int n = 0; n < Dirac.N; n++) for (byte alpha = 0; alpha < 4; alpha++) for (byte a = 0; a < 3; a++) { DateTime t = DateTime.Now; Dirac D = new Dirac(Field); D.phi[n, alpha, a] = Complex.One; //double philen = Dirac.V1hermV2(D.phi, D.phi).Module(); D.Prepare(); for (int i = 0; i < 5; i++) { D.Iter(); //Vector phinew = D.MulD(D.x); //double r = 0;// D.V1hermV2(phinew, phinew).Module(); //D.V1hermV2(D.ri, D.ri).Module(); //Text = "i = " + i.ToString() + " philen=" + philen.ToString() + " =? " + r.ToString() + " " + (DateTime.Now - t).ToString(); //t = DateTime.Now; } res += D.x[n, alpha, a]; Text = n.ToString() + " " + (res / new Complex((n + 1) * 12, 0)).ToString(); Application.DoEvents(); if (CloseMe) break; } Text = (res / new Complex(Dirac.N, 0)).ToString(); //for (int exp = 0; exp < 1; exp++) //{ // double beta = 6;// 1 + 10 * exp; // SU3 Field = new SU3(4, 2, beta, 0, true);//4х2 field beta=6 flux=0 // for (int i = 0; i < 10; i++) Field.Sweep(false); // DateTime t = DateTime.Now; // int K = 100; // Vector[] chi = new Vector[K]; // Complex tr = new Complex(); // for (int k = 0; k < K; k++) // { // Dirac D = new Dirac(Field); // chi[k] = new Vector(Dirac.N, rand.Next()); // chi[k].FillGaussRandom(); // D.phi = chi[k]; // //double philen = Dirac.V1hermV2(D.phi, D.phi).Module(); // D.Prepare(); // for (int i = 0; i < 4; i++) // { // D.Iter(); // //Vector v = D.MulD(D.x); // //Text = Dirac.V1hermV2(D.ri, D.ri).ToString();//"Dx = " + Dirac.V1hermV2(v, v).Module() + " phi = " + philen.ToString(); // //Application.DoEvents(); // } // tr += Dirac.V1hermV2(D.phi, D.x); // Text = beta.ToString() + " " + k.ToString(); // Application.DoEvents(); // } // tr *= new Complex(1 / (double)K / (4 * 4 * 4 * 2 * 12 * 2), 0); // Text = tr.ToString(); // chart1.Series[0].Points.AddXY(beta, tr.x); //} }
private void button12_Click(object sender, EventArgs e) { double beta = 6; SU3 Field = new SU3(int.Parse(tbNs.Text), int.Parse(tbNt.Text), beta, 0, true);//4х2 field beta=6 flux=0 //for (int i = 0; i < 10; i++) Field.Sweep(false); Complex res = Complex.Zero; Dirac D = new Dirac(Field); D.phi.FillRandom(); DateTime t = DateTime.Now; D.Prepare(); //for (int i = 0; i < 10; i++) D.Iter(); Text = ((DateTime.Now - t).TotalMilliseconds).ToString(); }