Gegenbauer polynomials wont produce Chebyshev polynomials using Symbolic Toolbox

2 ビュー (過去 30 日間)
Jan Filip
Jan Filip 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 件のコメント
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 Center および File ExchangePolynomials についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by