Azzera filtri
Azzera filtri

Gegenbauer polynomials wont produce Chebyshev polynomials using Symbolic Toolbox

4 visualizzazioni (ultimi 30 giorni)
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?

Risposte (1)

Sunand Agarwal
Sunand Agarwal il 14 Ott 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 Commenti
Jan Filip
Jan Filip il 16 Ott 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 il 28 Ott 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.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by