Gegenbauer polynomials wont produce Chebyshev polynomials using Symbolic Toolbox

조회 수: 2 (최근 30일)
jf
jf 2020년 10월 11일
댓글: Sunand Agarwal 2020년 10월 28일
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
jf
jf 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