Gegenbauer polynomials wont produce Chebyshev polynomials using Symbolic Toolbox

2 views (last 30 days)
Consider code
syms x
n = 4;
a = -0.5;
gegenbauerC(n,a,x)
It produces following output
- (5*x^4)/8 + (3*x^2)/4 - 1/8
which is not correct. Expected result according to theory of orthogonal polynomials is
8*x^4 - 8*x^2 + 1
i.e. Chebyshev polynomial
chebyshevT(n,x)
What I am missing?

Answers (1)

Sunand Agarwal
Sunand Agarwal on 14 Oct 2020
Please refer to this article to understand the relationships between Gegenbauer and Chebyshev polynomials.
You will find that the relation between them is as follows:
T(n,x) = (n/2) * G(n,0,x)
Hope this helps.
  2 Comments
Jan Filip
Jan Filip on 16 Oct 2020
syms x n
n = 4;
n/2*gegenbauerC(n,0,x) % returns 0
chebyshevT(n,x) % returns correct Chebyshev polynomial
Sunand Agarwal
Sunand Agarwal on 28 Oct 2020
I understand that the relationship between the two polynomials in the previous article is incorrect and we apologize for the same. This is a documentation bug and we're currently working on it.
Meanwhile, as a workaround, the correct mathematical expression for the relation between GegenbauerC and ChebyshevT polynomials can be found in Eq 38 in http://files.ele-math.com/articles/jca-03-02.pdf, which says
chebyshevT(n,x) = (1/epsilon) * lim a->0 {(n+a)/a}*gegenbauerC(n,a,x)
where epsilon = 1 for n = 0, and epsilon = 2 otherwise.
You may refer to this rule for solving the limit and hence the equation.
Hope this helps.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!