private static void drot_test() //****************************************************************************80 // // Purpose: // // DROT_TEST tests DROT. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 15 May 2006 // // Author: // // John Burkardt // { const int N = 6; double[] x = new double[N]; double[] y = new double[N]; for (int i = 0; i < N; i++) { x[i] = i + 1; } for (int i = 0; i < N; i++) { y[i] = (i + 1) * (i + 1) - 12; } Console.WriteLine(""); Console.WriteLine("DROT_TEST"); Console.WriteLine(" DROT carries out a Givens rotation."); Console.WriteLine(""); Console.WriteLine(" X and Y"); Console.WriteLine(""); for (int i = 0; i < N; i++) { Console.WriteLine(" " + (i + 1).ToString(CultureInfo.InvariantCulture).PadLeft(6) + " " + x[i].ToString(CultureInfo.InvariantCulture).PadLeft(14) + " " + y[i].ToString(CultureInfo.InvariantCulture).PadLeft(14) + ""); } double c = 0.5; double s = Math.Sqrt(1.0 - c * c); BLAS1D.drot(N, ref x, 1, ref y, 1, c, s); Console.WriteLine(""); Console.WriteLine(" DROT ( N, X, 1, Y, 1, " + c + "," + s + " )"); Console.WriteLine(""); for (int i = 0; i < N; i++) { Console.WriteLine(" " + (i + 1).ToString(CultureInfo.InvariantCulture).PadLeft(6) + " " + x[i].ToString(CultureInfo.InvariantCulture).PadLeft(14) + " " + y[i].ToString(CultureInfo.InvariantCulture).PadLeft(14) + ""); } for (int i = 0; i < N; i++) { x[i] = i + 1; } for (int i = 0; i < N; i++) { y[i] = (i + 1) * (i + 1) - 12; } c = x[0] / Math.Sqrt(x[0] * x[0] + y[0] * y[0]); s = y[0] / Math.Sqrt(x[0] * x[0] + y[0] * y[0]); BLAS1D.drot(N, ref x, 1, ref y, 1, c, s); Console.WriteLine(""); Console.WriteLine(" DROT ( N, X, 1, Y, 1, " + c + "," + s + " )"); Console.WriteLine(""); for (int i = 0; i < N; i++) { Console.WriteLine(" " + (i + 1).ToString(CultureInfo.InvariantCulture).PadLeft(6) + " " + x[i].ToString(CultureInfo.InvariantCulture).PadLeft(14) + " " + y[i].ToString(CultureInfo.InvariantCulture).PadLeft(14) + ""); } }