Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / math / doc / sf / chebyshev.qbk
index 61af5e4..a51b30a 100644 (file)
@@ -39,7 +39,7 @@
    }} // namespaces
 
 
-["Real analysts cannot do without Fourier, complex analysts cannot do without Laurent, and numerical analysts cannot do without Chebyshev]--Lloyd N. Trefethen
+['"Real analysts cannot do without Fourier, complex analysts cannot do without Laurent, and numerical analysts cannot do without Chebyshev"] --Lloyd N. Trefethen
 
 The Chebyshev polynomials of the first kind are defined by the recurrence /T/[sub n+1](/x/) := /2xT/[sub n](/x/) - /T/[sub n-1](/x/), /n > 0/,
 where /T/[sub 0](/x/) := 1 and /T/[sub 1](/x/) := /x/.
@@ -84,11 +84,11 @@ and is implemented in boost as
 N.B.: There is factor of /2/ difference in our definition of the first coefficient in the Chebyshev series from Clenshaw's original work.
 This is because two traditions exist in notation for the Chebyshev series expansion,
 
-/f/(/x/) \u2248 \u2211[sub n=0][super N-1] /a/[sub n]/T/[sub n](/x/)
+[:/f/(/x/) \u2248 \u2211[sub n=0][super N-1] /a/[sub n]/T/[sub n](/x/)]
 
 and
 
-/f/(/x/) \u2248 /c/[sub 0]/2 + \u2211[sub n=1][super N-1] /c/[sub n]/T/[sub n](/x/)
+[:/f/(/x/) \u2248 /c/[sub 0]/2 + \u2211[sub n=1][super N-1] /c/[sub n]/T/[sub n](/x/)]
 
 ['*boost math always uses the second convention, with the factor of 1/2 on the first coefficient.*]
 
@@ -111,12 +111,12 @@ The real challenge is /generation/ of the Chebyshev series.
 For this purpose, boost provides a /Chebyshev transform/, a projection operator which projects a function onto a finite-dimensional span of Chebyshev polynomials.
 But before we discuss the API, let's analyze why we might want to project a function onto a span of Chebyshev polynomials.
 
-* We want a numerically stable way to evaluate the function's derivative
+* We want a numerically stable way to evaluate the function's derivative.
 * Our function is expensive to evaluate, and we wish to find a less expensive way to estimate its value.
 An example are the standard library transcendental functions:
 These functions are guaranteed to evaluate to within 1 ulp of the exact value, but often this accuracy is not needed.
 A projection onto the Chebyshev polynomials with a low accuracy requirement can vastly accelerate the computation of these functions.
-* We wish to numerically integrate the function
+* We wish to numerically integrate the function.
 
 The API is given below.
 
@@ -150,8 +150,9 @@ By /near-minimax/, we mean that the resulting Chebyshev polynomial is "very clos
 The notion of "very close" can be made rigorous; see Trefethen's "Approximation Theory and Approximation Practice" for details.
 
 The Chebyshev transform works by creating a vector of values by evaluating the input function at the Chebyshev points, and then performing a discrete cosine transform on the resulting vector.
-In order to do this efficiently, we have used FFTW3.
+In order to do this efficiently, we have used [@http://www.fftw.org/ FFTW3].
 So to compile, you must have `FFTW3` installed, and link with `-lfftw3` for double precision, `-lfftw3f` for float precision, `-lfftw3l` for long double precision, and -lfftwq for quad (`__float128`) precision.
 After the coefficients of the Chebyshev series are known, the routine goes back through them and filters out all the coefficients whose absolute ratio to the largest coefficient are less than the tolerance requested in the constructor.
 
-[endsect]
+[endsect] [/section:chebyshev Chebyshev Polynomials]
+