Need help understanding Remez Algorithm and Chebyshev Polynomials

Click For Summary
SUMMARY

The discussion focuses on the Remez Algorithm and Chebyshev Polynomials for minimax polynomial approximations. Participants emphasize the importance of using Chebyshev polynomials as initial guesses for solving linear systems of equations. The discrete orthogonality conditions are highlighted as essential for determining coefficients in polynomial approximations. Additionally, the Remez Algorithm is described as a method for minimizing the maximum deviation between a function and its polynomial approximation, typically starting with Chebyshev or Pade approximations.

PREREQUISITES
  • Understanding of Chebyshev Polynomials and their properties
  • Familiarity with minimax polynomial approximation techniques
  • Knowledge of linear systems of equations
  • Basic concepts of orthogonality in function spaces
NEXT STEPS
  • Study the implementation of the Remez Algorithm for polynomial approximation
  • Learn about discrete orthogonality conditions in Chebyshev polynomials
  • Explore numerical methods for solving linear systems of equations
  • Investigate practical applications of Chebyshev polynomial approximations in engineering
USEFUL FOR

Mathematicians, engineers, and computer scientists interested in numerical analysis, particularly those working with polynomial approximations and optimization techniques.

ChaseRLewis
Messages
43
Reaction score
0
So I've been reading about minimax polynomial approximations and have found them to be pretty impressive. However, i am confused on exactly how to determine the constants.

The first step is supposed be solving for the Chebyshev polynomials as an initial guess. I'm reading wikipedia but I'm a bit confused on how to approximate a function with them. http://en.wikipedia.org/wiki/Chebyshev_polynomials


From there I use those factors as an initial guess into a linear system of equations
But I'm confused on exactly how to determine the error function (more refined grid?) also how do you iterate through it? Keeping adding dimension until your error criteria is met? Bit lost when I read about it. Lot's of people talking about it but almost no examples.

any code that can be linked or any questions that could be cleared up here would be much appreciated.
 
Physics news on Phys.org
ChaseRLewis said:
So I've been reading about minimax polynomial approximations and have found them to be pretty impressive. However, i am confused on exactly how to determine the constants.

The first step is supposed be solving for the Chebyshev polynomials as an initial guess. I'm reading wikipedia but I'm a bit confused on how to approximate a function with them. http://en.wikipedia.org/wiki/Chebyshev_polynomials

That is a good page. Section 4.3 of that wiki page lists orthogonality conditions - one in integral form and one discrete. I have used the discrete on quite a few occasions since the integrals tend to require superhuman skill. For an example of using the discrete orthogonality, consider a function [itex]f(x)[/itex] defined for [itex]-1\leq x \leq 1[/itex]. We want to represent it as
[tex] f(x) = \sum_{\ell=0}^{\infty} a_\ell T_\ell (x).[/tex]
We want to use the discrete orthogonality, which states that for [itex]\ell,m<N[/itex],
[tex] \sum_{k=0}^{N-1} T_\ell(x_k) T_m(x_k) = N \epsilon_{\ell,m}^\prime[/tex]
where
[tex] x_k = \cos\left( \frac{\pi (k+\frac{1}{2})}{N} \right),[/tex]
and [itex]\epsilon_{\ell,m}^\prime[/itex] is zero if [itex]\ell\neq m[/itex], one if [itex]\ell= m=0[/itex] and [itex]1/2[/itex] if [itex]\ell= m >0[/itex]. So we have to pick an N. I would make it big to start, like 50 or 100. Then we take our expansion for [itex]f[/itex] (the first equation I wrote), multiply by a Chebyshev polynomial [itex]T_m(x)[/itex], evaluate at our [itex]x_k[/itex] and sum over k to get,
[tex] \sum_{k=0}^{N-1} T_m(x_k) f(x_k) = a_m N \epsilon_{m,m}^\prime. [/tex]
So t his gives an expression for the coefficients [itex]a_m[/itex], with [itex]m<N[/itex]. These should fall off rather quickly as long as the function isn't too crazy. You only need to keep those that are large enough.

So that gives you the Chebyshev polynomial approximation. I cannot help with the minimax or Remez, as it has never seemed like it was worth all that extra work to me. The normal Chebyshev approximation is very easy once you can compute your function f.

jason

EDIT: forgot to include the nicer form of the sum above. Since [itex]T_n(x)=\cos(n \arccos(x))[/itex], the nicer form for the equations to find the coefficients is:
[tex] \sum_{k=0}^{N-1} \cos\left( \frac{m \pi (k+\frac{1}{2})}{N} \right) f(x_k) = a_m N \epsilon_{m,m}^\prime. [/tex]
 
Last edited:
ChaseRLewis said:
but I'm a bit confused on how to approximate a function with them. http://en.wikipedia.org/wiki/Chebyshev_polynomials

If you have a sophisticated level of confusion then jasonRF has given an answer. If you are unfamiliar with how "orthogonal" functions can be viewed as vectors in a vector space and how expressing a given function as a sum of component functions is done by "projecting" the function onto an orthogonal basis of functions, you should ask about this. It is the basic idea behind a lot of engineering mathematics.

As to the Remez algorithm, you have to remind me about it! Do you have a link?

The name "Remez" brings to mind a book that gave approximations to functions as ratios of polynomials and I think these approximations were computed by minimizing the maximum deviation between the function and the ratio (of polynomials each having a given degree). It used a somewhat trial-and-error process that took a Chebyshev or Pade approximation as its initial guess. The rationale for not using the theoretical approximations themselves was that they were only exact if they included all terms of an infinite series. So, given that you are only going to use polynomial equations of a given degree, you only have a finite number of coefficients to work with. As I recall, the Remez algorithm was use to find these coefficients. Is that the sort of thing you want to do?
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 16 ·
Replies
16
Views
5K
  • · Replies 8 ·
Replies
8
Views
3K