Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a2565d56a90a4a3e

Jump to content

// Workers AI · dad joke modeWhy did Chebyshev iteration go to therapy? It had converging issues.

From Wikipedia, the free encyclopedia

In numerical linear algebra, the Chebyshev iteration is an iterative method for determining the solutions of a system of linear equations. The method is named after Russian mathematician Pafnuty Chebyshev.

Chebyshev iteration avoids the computation of inner products as is necessary for the other nonstationary methods. For some distributed-memory architectures these inner products are a bottleneck with respect to efficiency. The price one pays for avoiding inner products is that the method requires enough knowledge about spectrum of the coefficient matrix A, that is an upper estimate for the upper eigenvalue and lower estimate for the lower eigenvalue. There are modifications of the method for nonsymmetric matrices A.

Example code in MATLAB

[edit]
function [x] = SolChebyshev002(A, b, x0, iterNum, lMax, lMin)

  d = (lMax + lMin) / 2;
  c = (lMax - lMin) / 2;
  preCond = eye(size(A)); % Preconditioner
  x = x0;
  r = b - A * x;

  for i = 1:iterNum % size(A, 1)
      z = linsolve(preCond, r);
      if (i == 1)
          p = z;
          alpha = 1/d;
      else if (i == 2)
          beta = (1/2) * (c * alpha)^2
          alpha = 1/(d - beta / alpha);
          p = z + beta * p;
      else
          beta = (c * alpha / 2)^2;
          alpha = 1/(d - beta / alpha);
          p = z + beta * p;
      end;

      x = x + alpha * p;
      r = b - A * x; %(= r - alpha * A * p)
      if (norm(r) < 1e-15), break; end; % stop if necessary
  end;
end

Code translated from [1] and.[2]

See also

[edit]

References

[edit]
  • "Chebyshev iteration method", Encyclopedia of Mathematics, EMS Press, 2001 [1994]
  1. Barrett, Richard; Michael, Berry; Tony, Chan; Demmel, James; Donato, June; Dongarra, Jack; Eijkhout, Victor; Pozo, Roldan; Romine, Charles; Van der Vorst, Henk (1994). Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods (2nd ed.). SIAM.
  2. Gutknecht, Martin; Röllin, Stefan (2002). "The Chebyshev iteration revisited". Parallel Computing. 28 (2): 263–283. doi:10.1016/S0167-8191(01)00139-9. hdl:20.500.11850/145926.
[edit]