/* This file contains the functions to calculate Gegenbauer polynomials. */ #include /* gegenbauer_1p5(n, x) calculates the Gegenbauer polynomials C^3/2_n(x) */ double gegenbauer_1p5(int n, double x) { switch(n) { case 0 : { return 1.; break; } case 1 : { return 3. * x; break; } case 2 : { return 3./2. * (-1. + 5. * pow(x,2.)); break; } case 3 : { return 5./2. * (-3. * x + 7. * pow(x,3.)); break; } case 4 : { return 15./8. * (1. - 14. * pow(x,2.) + 21. * pow(x,4.)); break; } case 5 : { return 7./8. * (15. * x - 90. * pow(x,3.) + 99. * pow(x,5.)); break; } } } double norm_gegenbauer_1p5(int n, int m, double x) { return (1 - pow(x,2.)) * gegenbauer_1p5(n, x) * gegenbauer_1p5(m, x); }