Gegenbauer polynomials wont produce Chebyshev polynomials using Symbolic Toolbox

4 次查看(过去 30 天)
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?

回答(1 个)

Sunand Agarwal
Sunand Agarwal 2020-10-14
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 个评论
Jan Filip
Jan Filip 2020-10-16
syms x n
n = 4;
n/2*gegenbauerC(n,0,x) % returns 0
chebyshevT(n,x) % returns correct Chebyshev polynomial
Sunand Agarwal
Sunand Agarwal 2020-10-28
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Polynomials 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by