Ejemplo n.º 1
0
    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);
        }
    }
Ejemplo n.º 2
0
    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) + "");
        }
    }