Need help understanding Remez Algorithm and Chebyshev Polynomials

In summary, the Chebyshev polynomial approximation is a good starting point for solving a linear system of equations. You use orthogonality conditions to restrict the number of coefficients to be solved for. You can then use the Remez algorithm to find the coefficients.
  • #1
ChaseRLewis
43
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
  • #2
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:
  • #3
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 betwen 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?
 

Related to Need help understanding Remez Algorithm and Chebyshev Polynomials

1. What is the Remez Algorithm?

The Remez algorithm is an iterative method used to approximate a function with a polynomial of a given degree. It is also known as the Remez exchange algorithm or the Remez exchange method.

2. How does the Remez algorithm work?

The Remez algorithm works by finding the polynomial that minimizes the maximum error between the function and the polynomial on a given interval. This is achieved by alternating between approximating the function with a polynomial and finding the maximum error, and then adjusting the polynomial to reduce the error further.

3. What are Chebyshev polynomials?

Chebyshev polynomials are a set of orthogonal polynomials that are commonly used in the Remez algorithm. They have the property of minimizing the maximum error between a function and a polynomial of a given degree on a given interval.

4. How are Chebyshev polynomials used in the Remez algorithm?

Chebyshev polynomials are used in the Remez algorithm to approximate a function with a polynomial of a given degree. The coefficients of the polynomial are determined by minimizing the maximum error between the function and the polynomial on a given interval, which is achieved by using the Chebyshev polynomials.

5. What are the applications of the Remez algorithm and Chebyshev polynomials?

The Remez algorithm and Chebyshev polynomials are commonly used in numerical analysis and scientific computing for approximating functions with polynomials. They are also used in signal processing and control systems for designing filters and controllers. Additionally, they have applications in physics, engineering, and other fields where accurate approximations of functions are needed.

Similar threads

  • Linear and Abstract Algebra
Replies
2
Views
1K
  • Precalculus Mathematics Homework Help
Replies
3
Views
1K
  • Linear and Abstract Algebra
Replies
4
Views
1K
  • Linear and Abstract Algebra
Replies
3
Views
2K
Replies
16
Views
2K
  • Quantum Physics
Replies
1
Views
874
  • Linear and Abstract Algebra
Replies
4
Views
2K
  • Set Theory, Logic, Probability, Statistics
Replies
23
Views
2K
Replies
1
Views
2K
  • Programming and Computer Science
Replies
30
Views
4K
Back
Top