private static void hermite_polynomial_test05() //****************************************************************************80 // // Purpose: // // HERMITE_POLYNOMIAL_TEST05 tests HE_POLYNOMIAL_ZEROS. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 26 February 2012 // // Author: // // John Burkardt // { int degree; double[] hz; string title; double[] z; Console.WriteLine(""); Console.WriteLine("HERMITE_POLYNOMIAL_TEST05:"); Console.WriteLine(" HE_POLYNOMIAL_ZEROS computes the zeros of He(n,x)"); Console.WriteLine(" Check by calling HE_POLYNOMIAL there."); for (degree = 1; degree <= 5; degree++) { z = Hermite.he_polynomial_zeros(degree); title = " Computed zeros for He(" + degree + ",z):"; typeMethods.r8vec_print(degree, z, title); hz = Hermite.he_polynomial_value(degree, degree, z); title = " Evaluate He(" + degree + ",z):"; typeMethods.r8vec_print(degree, hz, title, aIndex: +degree * degree); } }
private static void hermite_polynomial_test02() //****************************************************************************80 // // Purpose: // // HERMITE_POLYNOMIAL_TEST02 tests HE_POLYNOMIAL_VALUE. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 26 February 2012 // // Author: // // John Burkardt // { int n_data; double e; double fx1 = 0; double fx2; double[] fx2_vec; int n = 0; double x = 0; double[] x_vec = new double[1]; Console.WriteLine(""); Console.WriteLine("HERMITE_POLYNOMIAL_TEST02:"); Console.WriteLine(" HE_POLYNOMIAL_VALUES stores values of"); Console.WriteLine(" the probabilist's Hermite polynomials."); Console.WriteLine(" HE_POLYNOMIAL_VALUE evaluates the polynomial."); Console.WriteLine(""); Console.WriteLine(" Tabulated Computed"); Console.WriteLine(" N X He(N,X) He(N,X) Error"); Console.WriteLine(""); n_data = 0; for (;;) { Burkardt.Values.Hermite.he_polynomial_values(ref n_data, ref n, ref x, ref fx1); if (n_data == 0) { break; } x_vec[0] = x; fx2_vec = Hermite.he_polynomial_value(1, n, x_vec); fx2 = fx2_vec[n]; e = fx1 - fx2; Console.WriteLine(" " + n.ToString().PadLeft(4) + " " + x.ToString().PadLeft(12) + " " + fx1.ToString("0.################").PadLeft(24) + " " + fx2.ToString("0.################").PadLeft(24) + " " + e.ToString().PadLeft(8) + ""); } }