Boost logo

Boost-Commit :

From: john_at_[hidden]
Date: 2007-09-27 06:41:00


Author: johnmaddock
Date: 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
New Revision: 39572
URL: http://svn.boost.org/trac/boost/changeset/39572

Log:
Big update to get all the equations in SVG format, and embedded in the PDF.
Binary files modified:
   sandbox/math_toolkit/libs/math/doc/pdf/math.pdf
Text files modified:
   sandbox/math_toolkit/libs/math/doc/Jamfile.v2 | 9
   sandbox/math_toolkit/libs/math/doc/bessel_ik.qbk | 24 +-
   sandbox/math_toolkit/libs/math/doc/bessel_introduction.qbk | 44 ++--
   sandbox/math_toolkit/libs/math/doc/bessel_jy.qbk | 24 +-
   sandbox/math_toolkit/libs/math/doc/bessel_spherical.qbk | 6
   sandbox/math_toolkit/libs/math/doc/beta.qbk | 14
   sandbox/math_toolkit/libs/math/doc/beta_derivative.qbk | 2
   sandbox/math_toolkit/libs/math/doc/digamma.qbk | 6
   sandbox/math_toolkit/libs/math/doc/distributions/beta.qbk | 2
   sandbox/math_toolkit/libs/math/doc/distributions/binomial.qbk | 4
   sandbox/math_toolkit/libs/math/doc/distributions/cauchy.qbk | 2
   sandbox/math_toolkit/libs/math/doc/distributions/chi_squared.qbk | 2
   sandbox/math_toolkit/libs/math/doc/distributions/chi_squared_examples.qbk | 6
   sandbox/math_toolkit/libs/math/doc/distributions/exponential.qbk | 2
   sandbox/math_toolkit/libs/math/doc/distributions/fisher.qbk | 4
   sandbox/math_toolkit/libs/math/doc/distributions/gamma.qbk | 4
   sandbox/math_toolkit/libs/math/doc/distributions/lognormal.qbk | 2
   sandbox/math_toolkit/libs/math/doc/distributions/negative_binomial.qbk | 2
   sandbox/math_toolkit/libs/math/doc/distributions/non_members.qbk | 4
   sandbox/math_toolkit/libs/math/doc/distributions/normal.qbk | 2
   sandbox/math_toolkit/libs/math/doc/distributions/poisson.qbk | 2
   sandbox/math_toolkit/libs/math/doc/distributions/students_t.qbk | 4
   sandbox/math_toolkit/libs/math/doc/distributions/students_t_examples.qbk | 8
   sandbox/math_toolkit/libs/math/doc/ellint_carlson.qbk | 20 +-
   sandbox/math_toolkit/libs/math/doc/ellint_introduction.qbk | 30 +-
   sandbox/math_toolkit/libs/math/doc/ellint_legendre.qbk | 28 +-
   sandbox/math_toolkit/libs/math/doc/erf.qbk | 4
   sandbox/math_toolkit/libs/math/doc/error.qbk | 4
   sandbox/math_toolkit/libs/math/doc/fraction.qbk | 8
   sandbox/math_toolkit/libs/math/doc/gamma_derivatives.qbk | 2
   sandbox/math_toolkit/libs/math/doc/gamma_ratios.qbk | 4
   sandbox/math_toolkit/libs/math/doc/hermite.qbk | 4
   sandbox/math_toolkit/libs/math/doc/ibeta.qbk | 26 +-
   sandbox/math_toolkit/libs/math/doc/ibeta_inv.qbk | 20 +-
   sandbox/math_toolkit/libs/math/doc/igamma.qbk | 38 ++--
   sandbox/math_toolkit/libs/math/doc/implementation.qbk | 373 ++++++++++++++++++++++++++++++++++++++++
   sandbox/math_toolkit/libs/math/doc/inv_hyper.qbk | 14
   sandbox/math_toolkit/libs/math/doc/laguerre.qbk | 8
   sandbox/math_toolkit/libs/math/doc/lanczos.qbk | 20 +-
   sandbox/math_toolkit/libs/math/doc/legendre.qbk | 12
   sandbox/math_toolkit/libs/math/doc/lgamma.qbk | 12
   sandbox/math_toolkit/libs/math/doc/math.qbk | 9
   sandbox/math_toolkit/libs/math/doc/powers.qbk | 6
   sandbox/math_toolkit/libs/math/doc/relative_error.qbk | 2
   sandbox/math_toolkit/libs/math/doc/roots.qbk | 8
   sandbox/math_toolkit/libs/math/doc/series.qbk | 2
   sandbox/math_toolkit/libs/math/doc/sinc.qbk | 4
   sandbox/math_toolkit/libs/math/doc/spherical_harmonic.qbk | 6
   sandbox/math_toolkit/libs/math/doc/tgamma.qbk | 10
   sandbox/math_toolkit/libs/math/doc/win32_nmake.mak | 4
   50 files changed, 622 insertions(+), 235 deletions(-)

Modified: sandbox/math_toolkit/libs/math/doc/Jamfile.v2
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/Jamfile.v2 (original)
+++ sandbox/math_toolkit/libs/math/doc/Jamfile.v2 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -34,6 +34,7 @@
         <xsl:param>toc.max.depth=4
         # How far down we go with TOC's
         <xsl:param>generate.section.toc.level=10
+ #<xsl:param>root.filename="sf_dist_and_tools"
         
         # PDF Options:
         # TOC Generation: this is needed for FOP-0.9 and later:
@@ -51,14 +52,16 @@
         <xsl:param>paper.type=A4
         # Yes, we want graphics for admonishments:
         <xsl:param>admon.graphics=1
+ # Hyphenation:
+ <xsl:param>hyphenate.verbatim=1
+ <xsl:param>hyphenate.verbatim.characters=" :."
         # Set this one for PDF generation *only*:
         # default pnd graphics are awful in PDF form,
         # better use SVG's instead:
         # <xsl:param>admon.graphics.extension=".svg"
+ # <xsl:param>use.role.for.mediaobject=1
+ # <xsl:param>preferred.mediaobject.role=print
     ;
 
 
 
-
-
-

Modified: sandbox/math_toolkit/libs/math/doc/bessel_ik.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/bessel_ik.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/bessel_ik.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -27,9 +27,9 @@
 
 where:
 
-[$../equations/mbessel2.png]
+[equation mbessel2]
 
-[$../equations/mbessel3.png]
+[equation mbessel3]
 
 The return type of these functions is computed using the __arg_pomotion_rules
 when T1 and T2 are different types. The functions are also optimised for the
@@ -112,7 +112,7 @@
 For K[sub v][space] with /v/ an integer, the result is calculated using the
 recurrence relation:
 
-[$../equations/mbessel5.png]
+[equation mbessel5]
 
 starting from K[sub 0][space] and K[sub 1][space] which are calculated
 using rational the approximations above. These rational approximations are
@@ -122,9 +122,9 @@
 In the general case, we first normalize [nu][space] to \[[^0, [inf]])
 with the help of the reflection formulae:
 
-[$../equations/mbessel9.png]
+[equation mbessel9]
 
-[$../equations/mbessel10.png]
+[equation mbessel10]
 
 Let [mu][space] = [nu] - floor([nu] + 1/2), then [mu][space] is the fractional part of
 [nu][space] such that |[mu]| <= 1/2 (we need this for convergence later). The idea is to
@@ -136,11 +136,11 @@
     of the third kind], Journal of Computational Physics, vol 19, 324 (1975),
 which needs two continued fractions as well as the Wronskian:
 
-[$../equations/mbessel11.png]
+[equation mbessel11]
 
-[$../equations/mbessel12.png]
+[equation mbessel12]
 
-[$../equations/mbessel8.png]
+[equation mbessel8]
 
 The continued fractions are computed using the modified Lentz's method
 (W.J. Lentz, ['Generating Bessel functions in Mie scattering calculations
@@ -156,11 +156,11 @@
 may be slow for really large ['x]). K[sub [mu]][space] and K[sub [mu]+1][space]
 can be calculated by
 
-[$../equations/mbessel13.png]
+[equation mbessel13]
 
 where
 
-[$../equations/mbessel14.png]
+[equation mbessel14]
 
 ['S] is also a series that is summed along with CF2, see
 I.J. Thompson and A.R. Barnett, ['Modified Bessel functions I_v and K_v
@@ -170,11 +170,11 @@
 When ['x] is small (['x] <= 2), CF2 convergence may fail (but CF1
 works very well). The solution here is Temme's series:
 
-[$../equations/mbessel15.png]
+[equation mbessel15]
 
 where
 
-[$../equations/mbessel16.png]
+[equation mbessel16]
 
 f[sub k][space] and h[sub k][space]
 are also computed by recursions (involving gamma functions), but the

Modified: sandbox/math_toolkit/libs/math/doc/bessel_introduction.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/bessel_introduction.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/bessel_introduction.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -6,7 +6,7 @@
 Bessel Functions are solutions to Bessel's ordinary differential
 equation:
 
-[$../equations/bessel1.png]
+[equation bessel1]
 
 where [nu][space] is the /order/ of the equation, and may be an arbitrary
 real or complex number, although integer orders are the most common occurrence.
@@ -17,7 +17,7 @@
 linearly independent solutions, the first of these is denoted J[sub v][space]
 and known as a Bessel function of the first kind:
 
-[$../equations/bessel2.png]
+[equation bessel2]
 
 This function is implemented in this library as __cyl_bessel_j.
 
@@ -25,31 +25,31 @@
 and is known as either a Bessel Function of the second kind, or as a
 Neumann function:
 
-[$../equations/bessel3.png]
+[equation bessel3]
 
 This function is implemented in this library as __cyl_neumann.
 
 The Bessel functions satisfy the recurrence relations:
 
-[$../equations/bessel4.png]
+[equation bessel4]
 
-[$../equations/bessel5.png]
+[equation bessel5]
 
 Have the derivatives:
 
-[$../equations/bessel6.png]
+[equation bessel6]
 
-[$../equations/bessel7.png]
+[equation bessel7]
 
 Have the Wronskian relation:
 
-[$../equations/bessel8.png]
+[equation bessel8]
 
 and the reflection formulae:
 
-[$../equations/bessel9.png]
+[equation bessel9]
 
-[$../equations/bessel10.png]
+[equation bessel10]
 
 
 [h4 Modified Bessel Functions]
@@ -59,54 +59,54 @@
 valued result. In this case the functions are the two linearly
 independent solutions to the modified Bessel equation:
 
-[$../equations/mbessel1.png]
+[equation mbessel1]
 
 The solutions are known as the modified Bessel functions of the first and
 second kind (or occasionally as the hyperbolic Bessel functions of the first
 and second kind). They are denoted I[sub v][space] and K[sub v][space]
 respectively:
 
-[$../equations/mbessel2.png]
+[equation mbessel2]
 
-[$../equations/mbessel3.png]
+[equation mbessel3]
 
 These functions are implemented in this library as __cyl_bessel_i and
 __cyl_bessel_k respectively.
 
 The modified Bessel functions satisfy the recurrence relations:
 
-[$../equations/mbessel4.png]
+[equation mbessel4]
 
-[$../equations/mbessel5.png]
+[equation mbessel5]
 
 Have the derivatives:
 
-[$../equations/mbessel6.png]
+[equation mbessel6]
 
-[$../equations/mbessel7.png]
+[equation mbessel7]
 
 Have the Wronskian relation:
 
-[$../equations/mbessel8.png]
+[equation mbessel8]
 
 and the reflection formulae:
 
-[$../equations/mbessel9.png]
+[equation mbessel9]
 
-[$../equations/mbessel10.png]
+[equation mbessel10]
 
 [h4 Spherical Bessel Functions]
 
 When solving the Helmholtz equation in spherical coordinates by
 separation of variables, the radial equation has the form:
 
-[$../equations/sbessel1.png]
+[equation sbessel1]
 
 The two linearly independent solutions to this equation are called the
 spherical Bessel functions j[sub n][space] and y[sub n][space], and are related to the
 ordinary Bessel functions J[sub n][space] and Y[sub n][space] by:
 
-[$../equations/sbessel2.png]
+[equation sbessel2]
 
 The spherical Bessel function of the second kind y[sub n][space]
 is also known as the spherical Neumann function n[sub n].

Modified: sandbox/math_toolkit/libs/math/doc/bessel_jy.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/bessel_jy.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/bessel_jy.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -27,9 +27,9 @@
 
 where:
 
-[$../equations/bessel2.png]
+[equation bessel2]
 
-[$../equations/bessel3.png]
+[equation bessel3]
 
 The return type of these functions is computed using the __arg_pomotion_rules
 when T1 and T2 are different types. The functions are also optimised for the
@@ -143,9 +143,9 @@
 When the order /v/ is negative then the reflection formulae can be used to
 move to /v > 0/:
 
-[$../equations/bessel9.png]
+[equation bessel9]
 
-[$../equations/bessel10.png]
+[equation bessel10]
 
 Note that if the order is an integer, then these formulae reduce to:
 
@@ -183,7 +183,7 @@
 
 When /x/ is small, J[sub x][space] is best computed directly from the series:
 
-[$../equations/bessel2.png]
+[equation bessel2]
 
 In the general case we compute J[sub v][space] and
 Y[sub v][space] simultaneously.
@@ -198,11 +198,11 @@
 The algorithm is called Steed's method, which needs two
 continued fractions as well as the Wronskian:
 
-[$../equations/bessel8.png]
+[equation bessel8]
 
-[$../equations/bessel11.png]
+[equation bessel11]
 
-[$../equations/bessel12.png]
+[equation bessel12]
 
 See: F.S. Acton, ['Numerical Methods that Work],
     The Mathematical Association of America, Washington, 1997.
@@ -221,11 +221,11 @@
 may be slow for really large ['x]). J[sub [mu]], J[sub [mu]+1],
 Y[sub [mu]], Y[sub [mu]+1] can be calculated by
 
-[$../equations/bessel13.png]
+[equation bessel13]
 
 where
 
-[$../equations/bessel14.png]
+[equation bessel14]
 
 J[sub [nu]] and Y[sub [mu]] are then calculated using backward
 (Miller's algorithm) and forward recurrence respectively.
@@ -233,11 +233,11 @@
 When ['x] is small (['x] <= 2), CF2 convergence may fail (but CF1
 works very well). The solution here is Temme's series:
 
-[$../equations/bessel15.png]
+[equation bessel15]
 
 where
 
-[$../equations/bessel16.png]
+[equation bessel16]
 
 g[sub k][space] and h[sub k][space]
 are also computed by recursions (involving gamma functions), but the

Modified: sandbox/math_toolkit/libs/math/doc/bessel_spherical.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/bessel_spherical.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/bessel_spherical.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -26,7 +26,7 @@
 
 where:
 
-[$../equations/sbessel2.png]
+[equation sbessel2]
 
 The return type of these functions is computed using the __arg_pomotion_rules
 for the single argument type T.
@@ -64,7 +64,7 @@
 Other than error handling and a couple of special cases these functions
 are implemented directly in terms of their definitions:
 
-[$../equations/sbessel2.png]
+[equation sbessel2]
 
 The special cases occur for:
 
@@ -72,7 +72,7 @@
 
 and for small ['x < 1], we can use the series:
 
-[$../equations/sbessel5.png]
+[equation sbessel5]
 
 which neatly avoids the problem of calculating 0/0 that can occur with the
 main definition as x [rarr] 0.

Modified: sandbox/math_toolkit/libs/math/doc/beta.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/beta.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/beta.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -20,7 +20,7 @@
 
 The beta function is defined by:
 
-[$../equations/beta1.png]
+[equation beta1]
 
 [$../graphs/beta.png]
 
@@ -83,14 +83,14 @@
 errors. As an alternative, if we regard the gamma function as a white-box
 containing the __lanczos, then we can combine the power terms:
 
-[$../equations/beta2.png]
+[equation beta2]
 
 which is almost the ideal solution, however almost all of the error occurs
 in evaluating the power terms when /a/ or /b/ are large. If we assume that /a > b/
 then the larger of the two power terms can be reduced by a factor of /b/, which
 immediately cuts the maximum error in half:
 
-[$../equations/beta3.png]
+[equation beta3]
 
 This may not be the final solution, but it is very competitive compared to
 other implementation methods.
@@ -100,7 +100,7 @@
 Again in order to avoid numerical overflow the power terms that prefix the series and
 continued fraction parts are collected together into:
 
-[$../equations/beta8.png]
+[equation beta8]
 
 where la, lb and lc are the integration limits used for a, b, and a+b.
 
@@ -108,15 +108,15 @@
 
 When /a/ or /b/ are less than one, we can use the recurrence relations:
 
-[$../equations/beta4.png]
+[equation beta4]
 
-[$../equations/beta5.png]
+[equation beta5]
 
 to move to a more favorable region where they are both greater than 1.
 
 In addition:
 
-[$../equations/beta7.png]
+[equation beta7]
 
 [endsect][/section:beta_function The Beta Function]
 [/

Modified: sandbox/math_toolkit/libs/math/doc/beta_derivative.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/beta_derivative.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/beta_derivative.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -22,7 +22,7 @@
 computes the partial derivative with respect to /x/ of the incomplete
 beta function __ibeta.
 
-[$../equations/derivative2.png]
+[equation derivative2]
 
 The return type of this function is computed using the __arg_pomotion_rules
 when T1, T2 and T3 are different types.

Modified: sandbox/math_toolkit/libs/math/doc/digamma.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/digamma.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/digamma.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -21,7 +21,7 @@
 Returns the digamma or psi function of /x/. Digamma is defined as the logarithmic
 derivative of the gamma function:
 
-[$../equations/digamma1.png]
+[equation digamma1]
 
 [$../graphs/digamma.png]
 
@@ -87,7 +87,7 @@
 
 For arguments > BIG the asymptotic expansion:
 
-[$../equations/digamma2.png]
+[equation digamma2]
 
 can be used. However, this expansion is divergent after a few terms:
 exactly how many terms depends on the size of /x/. Therefore the value
@@ -102,7 +102,7 @@
 First a high precision approximation to digamma was constructed using a 60-term
 differentiated __lanczos, the form used is:
 
-[$../equations/digamma3.png]
+[equation digamma3]
 
 Where P(x) and Q(x) are the polynomials from the rational form of the Lanczos sum,
 and P'(x) and Q'(x) are their first derivatives. The Lanzos part of this

Modified: sandbox/math_toolkit/libs/math/doc/distributions/beta.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/beta.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/beta.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -241,7 +241,7 @@
 [[variance][`a * b / (a+b)^2 * (a + b + 1)`]]
 [[mode][`(a-1) / (a + b - 2)`]]
 [[skewness][`2 (b-a) sqrt(a+b+1)/(a+b+2) * sqrt(a * b)`]]
-[[kurtosis excess][ [$../equations/beta_dist_kurtosis.png] ]]
+[[kurtosis excess][ [equation beta_dist_kurtosis] ]]
 [[kurtosis][`kurtosis + 3`]]
 [[parameter estimation][ ]]
 [[alpha

Modified: sandbox/math_toolkit/libs/math/doc/distributions/binomial.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/binomial.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/binomial.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -70,7 +70,7 @@
 
 The PDF for the binomial distribution is given by:
 
-[$../equations/binomial_ref2.png]
+[equation binomial_ref2]
 
 The following two graphs illustrate how the PDF changes depending
 upon the distributions parameters, first we'll keep the success
@@ -348,7 +348,7 @@
 [[pdf][Implementation is in terms of __ibeta_derivative: if [sub n]C[sub k ] is the binomial
        coefficient of a and b, then we have:
        
-[$../equations/binomial_ref1.png]
+[equation binomial_ref1]
 
 Which can be evaluated as `ibeta_derivative(k+1, n-k+1, p) / (n+1)`
 

Modified: sandbox/math_toolkit/libs/math/doc/distributions/cauchy.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/cauchy.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/cauchy.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -27,7 +27,7 @@
 with [@http://en.wikipedia.org/wiki/Probability_distribution probability distribution function PDF]
 given by:
 
-[$../equations/cauchy_ref1.png]
+[equation cauchy_ref1]
 
 The location parameter x[sub 0][space] is the location of the
 peak of the distribution (the mode of the distribution),

Modified: sandbox/math_toolkit/libs/math/doc/distributions/chi_squared.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/chi_squared.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/chi_squared.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -40,7 +40,7 @@
 random variables with means [mu][sub i][space] and variances [sigma][sub i][super 2],
 then the random variable:
 
-[$../equations/chi_squ_ref1.png]
+[equation chi_squ_ref1]
 
 is distributed according to the Chi-Squared distribution.
 

Modified: sandbox/math_toolkit/libs/math/doc/distributions/chi_squared_examples.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/chi_squared_examples.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/chi_squared_examples.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -41,10 +41,10 @@
 
 For each value of alpha, the formula for the confidence interval is given by:
 
-[$../equations/chi_squ_tut1.png]
+[equation chi_squ_tut1]
 
-Where [$../equations/chi_squ_tut2.png] is the upper critical value, and
-[$../equations/chi_squ_tut3.png] is the lower critical value of the
+Where [equation chi_squ_tut2] is the upper critical value, and
+[equation chi_squ_tut3] is the lower critical value of the
 Chi Squared distribution.
 
 In code we begin by printing out a table header:

Modified: sandbox/math_toolkit/libs/math/doc/distributions/exponential.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/exponential.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/exponential.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -25,7 +25,7 @@
 is a [@http://en.wikipedia.org/wiki/Probability_distribution continuous probability distribution]
 with PDF:
 
-[$../equations/exponential_dist_ref1.png]
+[equation exponential_dist_ref1]
 
 It is often used to model the time between independent
 events that happen at a constant average rate.

Modified: sandbox/math_toolkit/libs/math/doc/distributions/fisher.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/fisher.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/fisher.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -36,7 +36,7 @@
 Is distributed over the range \[0, [infin]\] with an F distribution, and
 has the PDF:
 
-[$../equations/fisher_pdf.png]
+[equation fisher_pdf]
 
 The following graph illustrates how the PDF varies depending on the
 two degrees of freedom parameters.
@@ -91,7 +91,7 @@
 [[Function][Implementation Notes]]
 [[pdf][The usual form of the PDF is given by:
 
-[$../equations/fisher_pdf.png]
+[equation fisher_pdf]
 
 However, that form is hard to evaluate directly without incurring problems with
 either accuracy or numeric overflow.

Modified: sandbox/math_toolkit/libs/math/doc/distributions/gamma.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/gamma.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/gamma.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -44,13 +44,13 @@
 For shape parameter /k/ and scale parameter [theta][space] it is defined by the
 probability density function:
 
-[$../equations/gamma_dist_ref1.png]
+[equation gamma_dist_ref1]
 
 Sometimes an alternative formulation is used: given parameters
 [alpha][space]= k and [beta][space]= 1 / [theta], then the
 distribution can be defined by the PDF:
 
-[$../equations/gamma_dist_ref2.png]
+[equation gamma_dist_ref2]
 
 In this form the inverse scale parameter is called a /rate parameter/.
 

Modified: sandbox/math_toolkit/libs/math/doc/distributions/lognormal.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/lognormal.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/lognormal.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -33,7 +33,7 @@
 For location and scale parameters /m/ and /s/ it is defined by the
 probability density function:
 
-[$../equations/lognormal_ref.png]
+[equation lognormal_ref]
 
 The location and scale parameters are equivalent to the mean and
 standard deviation of the logarithm of the random variable.

Modified: sandbox/math_toolkit/libs/math/doc/distributions/negative_binomial.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/negative_binomial.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/negative_binomial.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -67,7 +67,7 @@
 
 It has the PDF:
 
-[$../equations/neg_binomial_ref.png]
+[equation neg_binomial_ref]
 
 The following graph illustrate how the PDF varies as the success fraction
 /p/ changes:

Modified: sandbox/math_toolkit/libs/math/doc/distributions/non_members.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/non_members.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/non_members.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -115,7 +115,7 @@
 This function may return a __domain_error if the random variable is outside
 the defined range for the distribution.
 
-[$../equations/hazard.png]
+[equation hazard]
 
 [caution
 Some authors refer to this as the conditional failure
@@ -131,7 +131,7 @@
 This function may return a __domain_error if the random variable is outside
 the defined range for the distribution.
 
-[$../equations/chf.png]
+[equation chf]
 
 [caution
 Some authors refer to this as simply the "Hazard Function".]

Modified: sandbox/math_toolkit/libs/math/doc/distributions/normal.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/normal.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/normal.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -35,7 +35,7 @@
 
 Given mean [mu][space] and standard deviation [sigma][space] it has the PDF:
 
-[$../equations/normal_ref1.png]
+[equation normal_ref1]
 
 The variation the PDF with its parameters is illustrated
 in the following graph:

Modified: sandbox/math_toolkit/libs/math/doc/distributions/poisson.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/poisson.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/poisson.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -35,7 +35,7 @@
 
 It has the Probability Mass Function:
 
-[$../equations/poisson_ref1.png]
+[equation poisson_ref1]
 
 for k events, with an expected number of events [lambda].
 

Modified: sandbox/math_toolkit/libs/math/doc/distributions/students_t.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/students_t.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/students_t.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -37,7 +37,7 @@
 His employer, Guinness Breweries, required him to publish under a
 pseudonym, so he chose "Student". Given N independent measurements, let
 
-[$../equations/students_t_dist.png]
+[equation students_t_dist]
 
 where /M/ is the population mean,[' ''' &#x3BC; '''] is the sample mean, and /s/ is the
 sample variance.
@@ -46,7 +46,7 @@
 variable t which is - very loosely - the "best" that we can do not
 knowing the true standard deviation of the sample. It has the PDF:
 
-[$../equations/students_t_ref1.png]
+[equation students_t_ref1]
 
 The Student's t-distribution takes a single parameter: the number of
 degrees of freedom of the sample. When the degrees of freedom is

Modified: sandbox/math_toolkit/libs/math/doc/distributions/students_t_examples.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/distributions/students_t_examples.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/distributions/students_t_examples.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -13,7 +13,7 @@
 
 The formula for the interval can be expressed as:
 
-[$../equations/dist_tutorial4.png]
+[equation dist_tutorial4]
 
 Where, ['Y[sub s]] is the sample mean, /s/ is the sample standard deviation,
 /N/ is the sample size, /[alpha]/ is the desired significance level and
@@ -570,7 +570,7 @@
 Our procedure will begin by calculating the t-statistic, assuming
 equal variances the needed formulae are:
 
-[$../equations/dist_tutorial1.png]
+[equation dist_tutorial1]
 
 where Sp is the "pooled" standard deviation of the two samples,
 and /v/ is the number of degrees of freedom of the two combined
@@ -675,13 +675,13 @@
 at the more complex one: that the standard deviations of the two samples
 are not equal. In this case the formula for the t-statistic becomes:
 
-[$../equations/dist_tutorial2.png]
+[equation dist_tutorial2]
 
 And for the combined degrees of freedom we use the
 [@http://en.wikipedia.org/wiki/Welch-Satterthwaite_equation Welch-Satterthwaite]
 approximation:
 
-[$../equations/dist_tutorial3.png]
+[equation dist_tutorial3]
 
 Note that this is one of the rare situations where the degrees-of-freedom
 parameter to the Student's t distribution is a real number, and not an

Modified: sandbox/math_toolkit/libs/math/doc/ellint_carlson.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/ellint_carlson.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/ellint_carlson.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -90,7 +90,7 @@
   
 Returns Carlson's Elliptic Integral R[sub F]:
 
-[$../equations/ellint9.png]
+[equation ellint9]
 
 Requires that all of the arguments are non-negative, and at most
 one may be zero. Otherwise returns the result of __domain_error.
@@ -105,7 +105,7 @@
   
 Returns Carlson's elliptic integral R[sub D]:
 
-[$../equations/ellint10.png]
+[equation ellint10]
 
 Requires that x and y are non-negative, with at most one of them
 zero, and that z >= 0. Otherwise returns the result of __domain_error.
@@ -120,7 +120,7 @@
 
 Returns Carlson's elliptic integral R[sub J]:
   
-[$../equations/ellint11.png]
+[equation ellint11]
 
 Requires that x, y and z are non-negative, with at most one of them
 zero, and that ['p != 0]. Otherwise returns the result of __domain_error.
@@ -131,7 +131,7 @@
 [@http://en.wikipedia.org/wiki/Cauchy_principal_value Cauchy principal value]
 using the relation:
 
-[$../equations/ellint17.png]
+[equation ellint17]
 
   template <class T1, class T2>
   ``__sf_result`` ellint_rc(T1 x, T2 y)
@@ -141,7 +141,7 @@
 
 Returns Carlson's elliptic integral R[sub C]:
   
-[$../equations/ellint12.png]
+[equation ellint12]
 
 Requires that ['x > 0] and that ['y != 0].
 Otherwise returns the result of __domain_error.
@@ -152,7 +152,7 @@
 [@http://mathworld.wolfram.com/CauchyPrincipalValue.html Cauchy principal value]
 using the relation:
 
-[$../equations/ellint18.png]
+[equation ellint18]
 
 [heading Testing]
 
@@ -190,12 +190,12 @@
 The key of Carlson's algorithm [[link ellint_ref_carlson79 Carlson79]] is the
 duplication theorem:
 
-[$../equations/ellint13.png]
+[equation ellint13]
 
 By applying it repeatedly, ['x], ['y], ['z] get
 closer and closer. When they are nearly equal, the special case equation
 
-[$../equations/ellint16.png]
+[equation ellint16]
 
 is used. More specifically, ['[R F]] is evaluated from a Taylor series
 expansion to the fifth order. The calculations of the other three integrals
@@ -206,8 +206,8 @@
 [@http://mathworld.wolfram.com/CauchyPrincipalValue.html Cauchy principal values]
 are returned via the relations:
 
-[$../equations/ellint17.png]
+[equation ellint17]
 
-[$../equations/ellint18.png]
+[equation ellint18]
 
 [endsect]

Modified: sandbox/math_toolkit/libs/math/doc/ellint_introduction.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/ellint_introduction.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/ellint_introduction.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -27,7 +27,7 @@
 
 [h4 [#ellint_def]Definition]
 
-[$../equations/ellint1.png]
+[equation ellint1]
 
 is called elliptic integral if ['R(t, s)] is a rational function
 of ['t] and ['s], and ['s[super 2]] is a cubic or quartic polynomial
@@ -39,19 +39,19 @@
 
 Elliptic Integral of the First Kind (Legendre form)
 
-[$../equations/ellint2.png]
+[equation ellint2]
 
 Elliptic Integral of the Second Kind (Legendre form)
 
-[$../equations/ellint3.png]
+[equation ellint3]
 
 Elliptic Integral of the Third Kind (Legendre form)
 
-[$../equations/ellint4.png]
+[equation ellint4]
 
 where
 
-[$../equations/ellint5.png]
+[equation ellint5]
 
 [note ['[phi]] is called the amplitude.
 
@@ -93,43 +93,43 @@
 
 Complete Elliptic Integral of the First Kind (Legendre form)
 
-[$../equations/ellint6.png]
+[equation ellint6]
 
 Complete Elliptic Integral of the Second Kind (Legendre form)
 
-[$../equations/ellint7.png]
+[equation ellint7]
 
 Complete Elliptic Integral of the Third Kind (Legendre form)
 
-[$../equations/ellint8.png]
+[equation ellint8]
 
 Carlson [[link ellint_ref_carlson77 Carlson77]] [[link ellint_ref_carlson78 Carlson78]] gives an alternative definition of
 elliptic integral's canonical forms:
 
 Carlson's Elliptic Integral of the First Kind
 
-[$../equations/ellint9.png]
+[equation ellint9]
 
 where ['x], ['y], ['z] are nonnegative and at most one of them
 may be zero.
 
 Carlson's Elliptic Integral of the Second Kind
 
-[$../equations/ellint10.png]
+[equation ellint10]
 
 where ['x], ['y] are nonnegative, at most one of them may be zero,
 and ['z] must be positive.
 
 Carlson's Elliptic Integral of the Third Kind
 
-[$../equations/ellint11.png]
+[equation ellint11]
 
 where ['x], ['y], ['z] are nonnegative, at most one of them may be
 zero, and ['p] must be nonzero.
 
 Carlson's Degenerate Elliptic Integral
 
-[$../equations/ellint12.png]
+[equation ellint12]
 
 where ['x] is nonnegative and ['y] is nonzero.
 
@@ -142,18 +142,18 @@
 
 Carlson proved in [[link ellint_ref_carlson78 Carlson78]] that
 
-[$../equations/ellint13.png]
+[equation ellint13]
 
 [h4 [#ellint_formula]Carlson's Formulas]
 
 The Legendre form and Carlson form of elliptic integrals are related
 by equations:
 
-[$../equations/ellint14.png]
+[equation ellint14]
 
 In particular,
 
-[$../equations/ellint15.png]
+[equation ellint15]
 
 [h4 Numerical Algorithms]
 

Modified: sandbox/math_toolkit/libs/math/doc/ellint_legendre.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/ellint_legendre.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/ellint_legendre.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -49,7 +49,7 @@
   
 Returns the incomplete elliptic integral of the first kind ['F([phi], k)]:
 
-[$../equations/ellint2.png]
+[equation ellint2]
 
 Requires -1 <= k <= 1, otherwise returns the result of __domain_error.
 
@@ -63,7 +63,7 @@
   
 Returns the complete elliptic integral of the first kind ['K(k)]:
 
-[$../equations/ellint6.png]
+[equation ellint6]
 
 Requires -1 <= k <= 1, otherwise returns the result of __domain_error.
 
@@ -97,11 +97,11 @@
 These functions are implemented in terms of Carlson's integrals
 using the relations:
 
-[$../equations/ellint19.png]
+[equation ellint19]
 
 and
 
-[$../equations/ellint20.png]
+[equation ellint20]
 
 
 [endsect]
@@ -149,7 +149,7 @@
   
 Returns the incomplete elliptic integral of the second kind ['E([phi], k)]:
 
-[$../equations/ellint3.png]
+[equation ellint3]
 
 Requires -1 <= k <= 1, otherwise returns the result of __domain_error.
 
@@ -163,7 +163,7 @@
   
 Returns the complete elliptic integral of the first kind ['E(k)]:
 
-[$../equations/ellint7.png]
+[equation ellint7]
 
 Requires -1 <= k <= 1, otherwise returns the result of __domain_error.
 
@@ -197,11 +197,11 @@
 These functions are implemented in terms of Carlson's integrals
 using the relations:
 
-[$../equations/ellint21.png]
+[equation ellint21]
 
 and
 
-[$../equations/ellint22.png]
+[equation ellint22]
 
 
 [endsect]
@@ -249,7 +249,7 @@
   
 Returns the incomplete elliptic integral of the third kind ['[Pi](n, [phi], k)]:
 
-[$../equations/ellint4.png]
+[equation ellint4]
 
 Requires ['-1 <= k <= 1] and ['n < 1/sin[super 2]([phi])], otherwise
 returns the result of __domain_error (outside this range the result
@@ -270,7 +270,7 @@
   
 Returns the complete elliptic integral of the first kind ['[Pi](n, k)]:
 
-[$../equations/ellint8.png]
+[equation ellint8]
 
 Requires ['-1 <= k <= 1] and ['n < 1], otherwise returns the
 result of __domain_error (outside this range the result would be complex).
@@ -310,11 +310,11 @@
 
 and
 
-[$../equations/ellint23.png]
+[equation ellint23]
 
 Then if n < 0 the relations (A&S 17.7.15/16):
 
-[$../equations/ellint24.png]
+[equation ellint24]
 
 are used to shift /n/ to the range \[0, 1\].
 
@@ -329,11 +329,11 @@
 The functions are then implemented in terms of Carlson's integrals
 using the relations:
 
-[$../equations/ellint25.png]
+[equation ellint25]
 
 and
 
-[$../equations/ellint26.png]
+[equation ellint26]
 
 The remaining problem area occurs when n > 1 and [phi][space] is outside
 the range \[0, [pi]\/2\]. In this range the reduction formula for

Modified: sandbox/math_toolkit/libs/math/doc/erf.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/erf.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/erf.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -38,7 +38,7 @@
 Returns the [@http://en.wikipedia.org/wiki/Error_function error function]
 [@http://functions.wolfram.com/GammaBetaErf/Erf/ erf] of z:
 
-[$../equations/erf1.png]
+[equation erf1]
 
 [$../graphs/erf1.png]
 
@@ -50,7 +50,7 @@
    
 Returns the complement of the [@http://functions.wolfram.com/GammaBetaErf/Erfc/ error function] of z:
 
-[$../equations/erf2.png]
+[equation erf2]
 
 [$../graphs/erf2.png]
 

Modified: sandbox/math_toolkit/libs/math/doc/error.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/error.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/error.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -3,11 +3,11 @@
 Given an actual value /a/ and a found value /v/ the relative error can be
 calculated from:
 
-[$../equations/error2.png]
+[equation error2]
 
 However the test programs in the library use the symmetrical form:
 
-[$../equations/error1.png]
+[equation error1]
 
 which measures /relative difference/ and happens to be less error
 prone in use since we don't have to worry which value is the "true"

Modified: sandbox/math_toolkit/libs/math/doc/fraction.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/fraction.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/fraction.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -32,11 +32,11 @@
 These functions all evaluate the continued fraction described by the /generator/
 type argument. The functions with an "_a" suffix evaluate the fraction:
 
-[$../equations/fraction2.png]
+[equation fraction2]
 
 and those with a "_b" suffix evaluate the fraction:
 
-[$../equations/fraction1.png]
+[equation fraction1]
 
 This latter form is somewhat more natural in that it corresponds with the usual
 definition of a continued fraction, but note that the first /a/ value returned by
@@ -83,7 +83,7 @@
 The [@http://en.wikipedia.org/wiki/Golden_ratio golden ratio phi = 1.618033989...]
 can be computed from the simplest continued fraction of all:
 
-[$../equations/fraction3.png]
+[equation fraction3]
 
 We begin by defining a generator function:
 
@@ -108,7 +108,7 @@
 when evaluating special functions by continued fractions, for example
 the tan function is defined by:
 
-[$../equations/fraction4.png]
+[equation fraction4]
 
 So it's generator object would look like:
 

Modified: sandbox/math_toolkit/libs/math/doc/gamma_derivatives.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/gamma_derivatives.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/gamma_derivatives.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -22,7 +22,7 @@
 implements the partial derivative with respect to /x/ of the incomplete
 gamma function.
 
-[$../equations/derivative1.png]
+[equation derivative1]
 
 [optional_policy]
 

Modified: sandbox/math_toolkit/libs/math/doc/gamma_ratios.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/gamma_ratios.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/gamma_ratios.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -30,7 +30,7 @@
    
 Returns the ratio of gamma functions:
 
-[$../equations/gamma_ratio0.png]
+[equation gamma_ratio0]
 
 [optional_policy]
 
@@ -44,7 +44,7 @@
    
 Returns the ratio of gamma functions:
 
-[$../equations/gamma_ratio1.png]
+[equation gamma_ratio1]
 
 [optional_policy]
 

Modified: sandbox/math_toolkit/libs/math/doc/hermite.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/hermite.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/hermite.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -33,7 +33,7 @@
    
 Returns the value of the Hermite Polynomial of order /n/ at point /x/:
 
-[$../equations/hermite_0.png]
+[equation hermite_0]
 
 [optional_policy]
 
@@ -49,7 +49,7 @@
 polynomials, this function can be used to create a sequence of
 values evaluated at the same /x/, and for rising /n/.
 
-[$../equations/hermite_1.png]
+[equation hermite_1]
 
 For example we could produce a vector of the first 10 polynomial
 values using:

Modified: sandbox/math_toolkit/libs/math/doc/ibeta.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/ibeta.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/ibeta.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -59,7 +59,7 @@
 
 Returns the normalised incomplete beta function of a, b and x:
 
-[$../equations/ibeta3.png]
+[equation ibeta3]
 
 [$../graphs/ibeta.png]
 
@@ -71,7 +71,7 @@
    
 Returns the normalised complement of the incomplete beta function of a, b and x:
 
-[$../equations/ibeta4.png]
+[equation ibeta4]
 
    template <class T1, class T2, class T3>
    ``__sf_result`` beta(T1 a, T2 b, T3 x);
@@ -81,7 +81,7 @@
 
 Returns the full (non-normalised) incomplete beta function of a, b and x:
 
-[$../equations/ibeta1.png]
+[equation ibeta1]
 
    template <class T1, class T2, class T3>
    ``__sf_result`` betac(T1 a, T2 b, T3 x);
@@ -91,7 +91,7 @@
 
 Returns the full (non-normalised) complement of the incomplete beta function of a, b and x:
 
-[$../equations/ibeta2.png]
+[equation ibeta2]
 
 [h4 Accuracy]
 
@@ -234,7 +234,7 @@
 All four of these functions share a common implementation: this is passed both
 x and y, and can return either p or q where these are related by:
 
-[$../equations/ibeta_inv5.png]
+[equation ibeta_inv5]
 
 so at any point we can swap a for b, x for y and p for q if this results in
 a more favourable position. Generally such swaps are performed so that we always
@@ -245,23 +245,23 @@
 but is not used in this implementation - it's both slower and less accurate than
 the alternatives - however it is used to generate test data:
 
-[$../equations/ibeta5.png]
+[equation ibeta5]
 
 The following continued fraction is due to [@http://portal.acm.org/citation.cfm?doid=131766.131776 Didonato and Morris],
 and is used in this implementation when a and b are both greater than 1:
 
-[$../equations/ibeta6.png]
+[equation ibeta6]
 
 For smallish b and x then a series representation can be used:
 
-[$../equations/ibeta7.png]
+[equation ibeta7]
 
 When b << a then the transition from 0 to 1 occurs very close to x = 1
 and some care has to be taken over the method of computation, in that case
 the following series representation is used:
 
-[$../equations/ibeta8.png]
-[/[$../equations/ibeta9.png]]
+[equation ibeta8]
+[/[equation ibeta9]]
 
 Where Q(a,x) is an [@http://functions.wolfram.com/GammaBetaErf/Gamma2/ incomplete gamma function].
 Note that this method relies
@@ -271,14 +271,14 @@
 When /a/ and /b/ are both small integers, then we can relate the incomplete
 beta to the binomial distribution and use the following finite sum:
 
-[$../equations/ibeta12.png]
+[equation ibeta12]
 
 Finally we can sidestep difficult areas, or move to an area with a more
 efficient means of computation, by using the duplication formulae:
 
-[$../equations/ibeta10.png]
+[equation ibeta10]
 
-[$../equations/ibeta11.png]
+[equation ibeta11]
 
 The domains of a, b and x for which the various methods are used are identical
 to those described in the

Modified: sandbox/math_toolkit/libs/math/doc/ibeta_inv.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/ibeta_inv.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/ibeta_inv.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -215,7 +215,7 @@
 
 Firstly recall that:
 
-[$../equations/ibeta_inv5.png]
+[equation ibeta_inv5]
 
 We may wish to start from either p or q, and to calculate either x or y.
 In addition at
@@ -230,7 +230,7 @@
 
 The nearly symmetrical case (section 2 of the paper) is used for
 
-[$../equations/ibeta_inv2.png]
+[equation ibeta_inv2]
 
 and involves solving the inverse error function first. The method is accurate
 to at least 2 decimal digits when [^a = 5] rising to at least 8 digits when
@@ -238,7 +238,7 @@
 
 The general error function case (section 3 of the paper) is used for
 
-[$../equations/ibeta_inv3.png]
+[equation ibeta_inv3]
 
 and again expresses the inverse incomplete beta in terms of the
 inverse of the error function. The method is accurate to at least
@@ -247,7 +247,7 @@
 also small, then its accuracy tails off, in this case when p[super 1/a] < 0.0025
 then it is better to use the following as an initial estimate:
 
-[$../equations/ibeta_inv4.png]
+[equation ibeta_inv4]
 
 Finally the for all other cases where `a+b > 5` the method of section
 4 of the paper is used. This expresses the inverse incomplete beta in terms
@@ -259,7 +259,7 @@
 when p is close to 1 the method is inaccurate should we actually want y rather
 than x as output. Therefore when q is small ([^q[super 1/p] < 10[super -3]]) we use:
 
-[$../equations/ibeta_inv6.png]
+[equation ibeta_inv6]
 
 which is both cheaper to compute than the full method, and a more accurate
 estimate on q.
@@ -276,7 +276,7 @@
 look for a point x below the point of inflection `xs`, and on a convex curve.
 An initial estimate for x is made with:
 
-[$../equations/ibeta_inv7.png]
+[equation ibeta_inv7]
 
 which is provably below the true value for x:
 [@http://en.wikipedia.org/wiki/Newton%27s_method Newton iteration] will
@@ -289,11 +289,11 @@
 look for a point x below the point of inflection `xs`, and on a concave curve.
 An initial estimate for x is made with:
 
-[$../equations/ibeta_inv4.png]
+[equation ibeta_inv4]
 
 which can be improved somewhat to:
 
-[$../equations/ibeta_inv1.png]
+[equation ibeta_inv1]
 
 when b and x are both small (I've used b < a and x < 0.2). This
 actually under-estimates x, which drops us on the wrong side of x for Newton
@@ -305,7 +305,7 @@
 and x for y. Now the curve of the incomplete beta is convex with no points
 of inflection in [0,1]. For small p, x can be estimated using
 
-[$../equations/ibeta_inv4.png]
+[equation ibeta_inv4]
 
 which under-estimates x, and drops us on the right side of the true value
 for Newton iteration to converge monotonically. However, when p is large
@@ -316,7 +316,7 @@
 Things can be improved by considering the incomplete beta as a distorted
 quarter circle, and estimating y from:
 
-[$../equations/ibeta_inv8.png]
+[equation ibeta_inv8]
 
 This doesn't guarantee that we will drop in on the right side of x for
 monotonic convergence, but it does get us close enough that Halley iteration

Modified: sandbox/math_toolkit/libs/math/doc/igamma.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/igamma.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/igamma.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -60,7 +60,7 @@
    
 Returns the normalised lower incomplete gamma function of a and z:
 
-[$../equations/igamma4.png]
+[equation igamma4]
 
 This function changes rapidly from 0 to 1 around the point z == a:
 
@@ -74,7 +74,7 @@
 
 Returns the normalised upper incomplete gamma function of a and z:
 
-[$../equations/igamma3.png]
+[equation igamma3]
 
 This function changes rapidly from 1 to 0 around the point z == a:
 
@@ -88,7 +88,7 @@
 
 Returns the full (non-normalised) lower incomplete gamma function of a and z:
 
-[$../equations/igamma2.png]
+[equation igamma2]
 
    template <class T1, class T2>
    ``__sf_result`` tgamma(T1 a, T2 z);
@@ -98,7 +98,7 @@
 
 Returns the full (non-normalised) upper incomplete gamma function of a and z:
 
-[$../equations/igamma1.png]
+[equation igamma1]
 
 [h4 Accuracy]
 
@@ -240,22 +240,22 @@
 These four functions share a common implementation since
 they are all related via:
 
-1) [$../equations/igamma5.png]
+1) [equation igamma5]
 
-2) [$../equations/igamma6.png]
+2) [equation igamma6]
 
-3) [$../equations/igamma7.png]
+3) [equation igamma7]
 
 The lower incomplete gamma is computed from its series representation:
 
-4) [$../equations/igamma8.png]
+4) [equation igamma8]
 
 Or by subtraction of the upper integral from either [Gamma](a) or 1
 when /x > a and x > 1.1/.
 
 The upper integral is computed from Legendre's continued fraction representation:
 
-5) [$../equations/igamma9.png]
+5) [equation igamma9]
 
 When /x > 1.1/ or by subtraction of the lower integral from either [Gamma](a) or 1
 when /x < a/.
@@ -264,12 +264,12 @@
 fraction representation is unstable in this area. However there is another
 series representation for the lower integral:
 
-6) [$../equations/igamma10.png]
+6) [equation igamma10]
 
 That lends itself to calculation of the upper integral via rearrangement
 to:
 
-7) [$../equations/igamma11.png]
+7) [equation igamma11]
 
 Refer to the documentation for __powm1 and __tgamma1pm1 for details
 of their implementation. Note however that the precision of __tgamma1pm1
@@ -292,12 +292,12 @@
 If a is an integer in the range /1 <= a < 30/ then the following
 finite sum is used:
 
-9) [$../equations/igamma1f.png]
+9) [equation igamma1f]
 
 While for half integers in the range /0.5 <= a < 30/ then the
 following finite sum is used:
 
-10) [$../equations/igamma2f.png]
+10) [equation igamma2f]
 
 These are both more stable and more efficient than the continued fraction
 alternative.
@@ -306,13 +306,13 @@
 fraction (5) above are very slow to converge. In this area an expansion due to
 Temme is used:
 
-11) [$../equations/igamma16.png]
+11) [equation igamma16]
 
-12) [$../equations/igamma17.png]
+12) [equation igamma17]
 
-13) [$../equations/igamma18.png]
+13) [equation igamma18]
 
-14) [$../equations/igamma19.png]
+14) [equation igamma19]
 
 The double sum is truncated to a fixed number of terms - to give a specific
 target precision - and evaluated as a polynomial-of-polynomials. There are
@@ -343,7 +343,7 @@
 For smallish a and x combining
 the power terms with the __lanczos gives the greatest accuracy:
 
-15) [$../equations/igamma12.png]
+15) [equation igamma12]
 
 In the event that this causes underflow/overflow then the exponent can
 be reduced by a factor of /a/ and brought inside the power term.
@@ -353,7 +353,7 @@
 and taking logs simply leads to cancellation errors. The worst of the
 errors can be avoided by using:
 
-16) [$../equations/igamma13.png]
+16) [equation igamma13]
 
 when /a-x/ is small and a and x are large. There is still a subtraction
 and therefore some cancellation errors - but the terms are small so the absolute

Modified: sandbox/math_toolkit/libs/math/doc/implementation.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/implementation.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/implementation.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -384,6 +384,379 @@
 unfortunately it appears to suffer from very poor accuracy in areas where
 the underlying special function is known to be difficult to implement.
 
+[h4 Creating and Managing the Equations]
+
+The primary source for the equations is now
+[@http://www.w3.org/Math/ MathML]: see the
+*.mml files in libs\/math\/doc\/equations\/.
+
+These are most easily edited by a GUI editor such as
+[@http://mathcast.sourceforge.net/home.html Mathcast],
+please note that the equation editor supplied with Open Office
+currently mangles these files and should not currently be used.
+
+Convertion to SVG was achieved using
+[@http://www.grigoriev.ru/svgmath/ SVGMath] and a command line
+such as:
+
+[pre
+$for file in *.mml; do
+>/cygdrive/c/Python25/python.exe 'C:\download\open\SVGMath-0.3.1\math2svg.py' \\
+>>$file > $(basename $file .mml).svg
+>done
+]
+
+Note that SVGMath requires that the mml files are *not* wrapped in an XHTML
+XML wrapper - this is added by Mathcast by default - one workaround is to
+copy an existing mml file and then edit it with Mathcast: the existing
+format should then be preserved. This is a bug in the XML parser used by
+SVGMath which the author is aware of.
+
+If neccessary the XHTML wrapper can be removed with:
+
+[pre cat filename | tr -d "\\r\\n" \| sed -e 's\/.*\\(<math\[^>\]\*>.\*<\/math>\\).\*\/\\1\/' > newfile]
+
+Setting up fonts for SVGMath is currently rather tricky, on a windows system
+JM's font setup looks like this:
+
+[pre
+<!-- MathML-to-SVG configuration file -->
+<config verbose="true">
+ <!-- Fallback font family -->
+ <fallback family="Lucida Sans Unicode"\/>
+
+ <!-- Default values for MathML properties. -->
+ <!-- Most of these are defined in the MathML Rec - change with care -->
+ <defaults displaystyle="false"
+ mathsize="12pt"
+ scriptminsize="8pt"
+ scriptsizemultiplier="0.71"
+ veryverythinmathspace="0.0555556em"
+ verythinmathspace="0.111111em"
+ thinmathspace="0.166667em"
+ mediummathspace="0.222222em"
+ thickmathspace="0.277778em"
+ verythickmathspace="0.333333em"
+ veryverythickmathspace="0.388889em"
+ rowspacing="1.0ex"
+ columnspacing="0.8em"
+ framespacing="0.4em 0.5ex"\/>
+
+ <!-- Additional styling for individual operators -->
+ <!-- Make differentials italic -->
+ <operator-style operator="&#x2145;" fontstyle="italic"\/>
+ <operator-style operator="&#x2146;" fontstyle="italic"\/>
+
+ <!-- Font families -->
+ <family name="Times New Roman">
+ <font ttf="C:\WINDOWS\Fonts\times.ttf"\/>
+ <font weight="bold" ttf="C:\WINDOWS\Fonts\timesbd.ttf"\/>
+ <font style="italic" ttf="C:\WINDOWS\Fonts\timesi.ttf"\/>
+ <font weight="bold" style="italic" ttf="C:\WINDOWS\Fonts\timesbi.ttf"\/>
+ <\/family>
+
+ <family name="Arial">
+ <font ttf="C:\WINDOWS\Fonts\arial.ttf"\/>
+ <font weight="bold" ttf="C:\WINDOWS\Fonts\arialbd.ttf"\/>
+ <font style="italic" ttf="C:\WINDOWS\Fonts\ariali.ttf"\/>
+ <font weight="bold" style="italic" ttf="C:\WINDOWS\Fonts\arialbi.ttf"\/>
+ <\/family>
+
+ <family name="Courier New">
+ <font ttf="C:\WINDOWS\Fonts\cour.ttf"\/>
+ <font weight="bold" ttf="C:\WINDOWS\Fonts\courbd.ttf"\/>
+ <font style="italic" ttf="C:\WINDOWS\Fonts\couri.ttf"\/>
+ <font weight="bold" style="italic" ttf="C:\WINDOWS\Fonts\courbi.ttf"\/>
+ <\/family>
+
+ <family name="Euclid Fraktur">
+ <font ttf="C:\WINDOWS\Fonts\eufrak.ttf"\/>
+ <font weight="bold" ttf="C:\WINDOWS\Fonts\eufrakb.ttf"\/>
+ <\/family>
+
+ <family name="Monotype Corsiva">
+ <font ttf="C:\WINDOWS\Fonts\mtcorsva.ttf"\/>
+ <\/family>
+
+ <family name="Lucida Sans Unicode">
+ <font ttf="C:\WINDOWS\Fonts\lsansuni.ttf"\/>
+ <\/family>
+
+ <!-- Math variant definitions -->
+ <!-- Serif -->
+ <mathvariant name="normal"
+ family="Times New Roman, Lucida Sans Unicode"\/>
+ <mathvariant name="bold"
+ family="Times New Roman, Lucida Sans Unicode" weight="bold"\/>
+ <mathvariant name="italic"
+ family="Times New Roman, Lucida Sans Unicode" style="italic"\/>
+ <mathvariant name="bold-italic"
+ family="Times New Roman, Lucida Sans Unicode" weight="bold" style="italic"\/>
+
+ <!-- Sans-Serif -->
+ <mathvariant name="sans-serif"
+ family="Arial, Lucida Sans Unicode"\/>
+ <mathvariant name="bold-sans-serif"
+ family="Arial, Lucida Sans Unicode" weight="bold"\/>
+ <mathvariant name="sans-serif-italic"
+ family="Arial, Lucida Sans Unicode" style="italic"\/>
+ <mathvariant name="sans-serif-bold-italic"
+ family="Arial, Lucida Sans Unicode" weight="bold" style="italic"\/>
+
+ <!-- Fraktur -->
+ <mathvariant name="fraktur"
+ family="Euclid Fraktur, Lucida Sans Unicode"\/>
+ <mathvariant name="bold-fraktur"
+ family="Euclid Fraktur, Lucida Sans Unicode" weight="bold"\/>
+
+ <!-- Script -->
+ <mathvariant name="script"
+ family="Monotype Corsiva, Lucida Sans Unicode"\/>
+ <mathvariant name="bold-script"
+ family="Monotype Corsiva, Lucida Sans Unicode" weight="bold"\/>
+
+ <!-- Monospace -->
+ <mathvariant name="monospace" family="Courier New, Lucida Sans Unicode"\/>
+
+ <!-- Double-struck -->
+ <mathvariant name="double-struck" family="Lucida Sans Unicode"\/>
+<\/config>
+]
+
+Note that unlike the sample config file supplied with SVGMath this does not
+make use of the Mathematica 7 font as this lacks sufficient Unicode information
+for it to be used with either SVGMath or XEP "as is".
+
+Also note that the SVG files in the repository are almost certainly
+Windows-specific since they reference various Windows Fonts.
+
+PNG files can be created from the SVG's using
+[@http://xmlgraphics.apache.org/batik/tools/rasterizer.html Batik]
+and a command such as:
+
+[pre java -jar 'C:\download\open\batik-1.7\batik-rasterizer.jar' -dpi 120 *.svg]
+
+The PDF is generated using:
+
+[pre $bjam -a pdf xsl:param=admon.graphics.extension=".svg" \
+>xsl:param=use.role.for.mediaobject=1 xsl:param=preferred.mediaobject.role=print]
+
+Note that XEP will have to be configured to *use and embed*
+whatever fonts are used by the SVG equations. JM's XEP
+config file looks like:
+
+[pre
+<?xml version="1.0" encoding="UTF-8"?>
+<config>
+
+ <!-- ======================================================= -->
+ <!-- Formatter options -->
+ <!-- ======================================================= -->
+ <options>
+ <option name="LICENSE" value="license.xml"\/>
+ <option name="TMPDIR" value="none"\/>
+ <option name="BROKENIMAGE" value="images\/404.gif"\/>
+ <option name="LOGO" value="images\/logo-renderx.svg"\/>
+
+ <!-- Backend options -->
+ <generator-options format="PDF">
+ <!-- <option name="COMPRESS" value="false"\/> -->
+ <!-- <option name="PDF_VERSION" value="1.3"\/> -->
+ <\/generator-options>
+
+ <generator-options format="PostScript">
+ <!-- <option name="LANGUAGE_LEVEL" value="2"\/> -->
+ <!-- <option name="CLONE_EPS" value="true"\/> -->
+ <\/generator-options>
+
+ <generator-options format="AFP">
+ <option name="AFPCodepageTxt" value="Cp500"\/>
+ <option name="AFPCodepage" value="T1V10500"\/>
+ <option name="AFPLogLevel" value="0"\/>
+ <option name="USE_PTOCA_LEVEL" value="3"\/>
+ <option name="USE_BCOCA_LEVEL" value="1"\/>
+ <option name="USE_GOCA_LEVEL" value="1"\/>
+ <option name="RESOLUTION" value="1440"\/>
+ <!-- <option name="AFPGrayImage" value="yes"\/> -->
+ <option name="USE_SHADING_PATTERNS" value="yes"\/>
+ <option name="USE_REPLICATE_AND_TRIM" value="yes"\/>
+ <option name="SHADING_PATTERN_RESOLUTION" value="0.25"\/>
+ <option name="TRY_USING_TIFF_COMPRESSION" value="yes"\/>
+ <option name="AFPFont,Helvetica" value="C0H200.0, C0H300.0, C0H400.0, C0H500.0, C0H201.0, C0H301.0, C0H401.0, C0H501.0, 278"\/>
+ <option name="AFPFont,Times" value="C0N200.0, C0N300.0, C0N400.0, C0N500.0, C0N201.0, C0N301.0, C0N401.0, C0N501.0, 250"\/>
+ <option name="AFPFont,Courier" value="C04200.0, C04300.0, C04400.0, C04500.0, C04201.0, C04301.0, C04401.0, C04501.0, 600"\/>
+ <option name="AFPFont,Arial" value="C0H200.0, C0H300.0, C0H400.0, C0H500.0, C0H201.0, C0H301.0, C0H401.0, C0H501.0, 278"\/>
+ <option name="AFPFont,Times New Roman" value="C0N200.0, C0N300.0, C0N400.0, C0N500.0, C0N201.0, C0N301.0, C0N401.0, C0N501.0, 250"\/>
+ <option name="AFPFont,Verdana" value="C0VE0.0, C0VEI.0, C0VEB.0, C0VEZ.0, C0H201.0, C0H301.0, C0H401.0, C0H501.0,278"\/>
+ <option name="AFPFont,Interstate" value="C0IS0.0, C0ISB.0, C0IS0.0, C0ISB.0, C0H201.0, C0H301.0, C0H401.0, C0H501.0, 278"\/>
+ <\/generator-options>
+ <\/options>
+
+ <!-- ======================================================= -->
+ <!-- Fonts -->
+ <!-- ======================================================= -->
+
+ <fonts xml:base="fonts\/" default-family="Helvetica">
+
+ <!-- Base Adobe fonts. -->
+ <font-group label="Base 14" embed="false">
+ <font-family name="Courier">
+ <font><font-data afm="Courier.afm"\/><\/font>
+ <font style="oblique"><font-data afm="Courier-Oblique.afm"\/><\/font>
+ <font weight="bold"><font-data afm="Courier-Bold.afm"\/><\/font>
+ <font weight="bold" style="oblique"><font-data afm="Courier-BoldOblique.afm"\/><\/font>
+ <\/font-family>
+
+ <font-family name="Helvetica">
+ <font><font-data afm="Helvetica.afm"\/><\/font>
+ <font style="oblique"><font-data afm="Helvetica-Oblique.afm"\/><\/font>
+ <font weight="bold"><font-data afm="Helvetica-Bold.afm"\/><\/font>
+ <font weight="bold" style="oblique"><font-data afm="Helvetica-BoldOblique.afm"\/><\/font>
+ <\/font-family>
+
+ <font-family name="Times" ligatures="fi fl">
+ <font><font-data afm="Times-Roman.afm"\/><\/font>
+ <font style="italic"><font-data afm="Times-Italic.afm"\/><\/font>
+ <font weight="bold"><font-data afm="Times-Bold.afm"\/><\/font>
+ <font weight="bold" style="italic"><font-data afm="Times-BoldItalic.afm"\/><\/font>
+ <\/font-family>
+
+ <font-family name="Symbol">
+ <font><font-data afm="Symbol.afm"\/><\/font>
+ <\/font-family>
+
+ <font-family name="ZapfDingbats">
+ <font><font-data afm="ZapfDingbats.afm"\/><\/font>
+ <\/font-family>
+ <\/font-group>
+
+ <!-- Other Type1 fonts -->
+ <font-group label="Assorted Type 1" embed="true">
+ <font-family name="OmegaSerifIPA">
+ <font><font-data afm="IPA.afm" pfa="IPA.pfa" glyph-list="IPA.glyphs"\/><\/font>
+ <\/font-family>
+ <font-alias name="OmegaIPA" value="OmegaSerifIPA"\/>
+ <font-alias name="Phonetic" value="OmegaSerifIPA"\/>
+ <\/font-group>
+
+ <!-- Sample configuration for Windows TrueType fonts. -->
+
+ <font-group xml:base="file:\/C:\/Windows\/Fonts\/" label="Windows TrueType" embed="true" subset="true">
+ <font-family name="Arial">
+ <font><font-data ttf="arial.ttf"\/><\/font>
+ <font style="oblique"><font-data ttf="ariali.ttf"\/><\/font>
+ <font weight="bold"><font-data ttf="arialbd.ttf"\/><\/font>
+ <font weight="bold" style="oblique"><font-data ttf="arialbi.ttf"\/><\/font>
+ <\/font-family>
+
+ <font-family name="Times New Roman" ligatures="&#xFB01; &#xFB02;">
+ <font><font-data ttf="times.ttf"\/><\/font>
+ <font style="italic"><font-data ttf="timesi.ttf"\/><\/font>
+ <font weight="bold"><font-data ttf="timesbd.ttf"\/><\/font>
+ <font weight="bold" style="italic"><font-data ttf="timesbi.ttf"\/><\/font>
+ <\/font-family>
+
+ <font-family name="Courier New">
+ <font><font-data ttf="cour.ttf"\/><\/font>
+ <font style="oblique"><font-data ttf="couri.ttf"\/><\/font>
+ <font weight="bold"><font-data ttf="courbd.ttf"\/><\/font>
+ <font weight="bold" style="oblique"><font-data ttf="courbi.ttf"\/><\/font>
+ <\/font-family>
+
+ <font-family name="Tahoma" embed="true">
+ <font><font-data ttf="tahoma.ttf"\/><\/font>
+ <font weight="bold"><font-data ttf="tahomabd.ttf"\/><\/font>
+ <\/font-family>
+
+ <font-family name="Verdana" embed="true">
+ <font><font-data ttf="verdana.ttf"\/><\/font>
+ <font style="oblique"><font-data ttf="verdanai.ttf"\/><\/font>
+ <font weight="bold"><font-data ttf="verdanab.ttf"\/><\/font>
+ <font weight="bold" style="oblique"><font-data ttf="verdanaz.ttf"\/><\/font>
+ <\/font-family>
+
+ <font-family name="Palatino" embed="true" ligatures="&#xFB00; &#xFB01; &#xFB02; &#xFB03; &#xFB04;">
+ <font><font-data ttf="pala.ttf"\/><\/font>
+ <font style="italic"><font-data ttf="palai.ttf"\/><\/font>
+ <font weight="bold"><font-data ttf="palab.ttf"\/><\/font>
+ <font weight="bold" style="italic"><font-data ttf="palabi.ttf"\/><\/font>
+ <\/font-family>
+
+ <font-family name="Lucida Sans Unicode">
+ <font><font-data ttf="lsansuni.ttf"\/><\/font>
+ <\/font-family>
+
+ <\/font-group>
+
+ <!-- Required aliases -->
+ <font-alias name="monospace" value="Courier"\/>
+ <font-alias name="sans-serif" value="Helvetica"\/>
+ <font-alias name="serif" value="Times"\/>
+ <font-alias name="cursive" value="Times"\/>
+ <font-alias name="fantasy" value="Times"\/>
+ <\/fonts>
+
+ <!-- ======================================================= -->
+ <!-- Language-specific data: hyphenation, line breaking, etc -->
+ <!-- ======================================================= -->
+ <languages default-language="en-US" xml:base="hyphen\/">
+
+ <language name="English (US)" codes="none en-US eng-US">
+ <hyphenation pattern="hyphen.tex"\/>
+ <\/language>
+
+ <language name="English (UK)" codes="en-GB eng-GB en eng">
+ <hyphenation pattern="ukhyphen.tex"\/>
+ <\/language>
+
+ <language name="Russian" codes="ru rus">
+ <hyphenation pattern="ruhyphal.tex" encoding="koi8-r"\/>
+ <\/language>
+
+ <language name="French" codes="fr fra fre">
+ <hyphenation pattern="frhyph_rx.tex"\/>
+ <\/language>
+
+ <language name="German" codes="de deu ger">
+ <hyphenation pattern="dehyph_rx.tex"\/>
+ <\/language>
+
+ <language name="Spanish" codes="es esl spa">
+ <hyphenation pattern="eshyph_rx.tex"\/>
+ <\/language>
+
+ <language name="Polish" codes="pl pol">
+ <hyphenation pattern="plhyph_rx.tex"\/>
+ <\/language>
+
+ <\/languages>
+
+<\/config>
+]
+
+XZ authored his equations using the venerable Latex, JM converted these to
+MathML using [@http://gentoo-wiki.com/HOWTO_Convert_LaTeX_to_HTML_with_MathML mxlatex].
+This process is currently unreliable and required some manual intervention:
+consequently Latex source is not considered a viable route for the automatic
+production of SVG versions of equations.
+
+Equations are embedded in the quickbook source using the /equation/
+template defined in math.qbk. This outputs Docbook XML that looks like:
+
+[pre
+<inlinemediaobject>
+<imageobject role="html">
+<imagedata fileref="../equations/myfile.png"></imagedata>
+</imageobject>
+<imageobject role="print">
+<imagedata fileref="../equations/myfile.svg"></imagedata>
+</imageobject>
+</inlinemediaobject>
+]
+
+MathML is not currently present in the Docbook output, or in the
+generated HTML: this needs further investigation.
+
 [endsect][/section:implementation Implementation Notes]
 
 [/

Modified: sandbox/math_toolkit/libs/math/doc/inv_hyper.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/inv_hyper.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/inv_hyper.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -25,7 +25,7 @@
 
 The exponential funtion is defined, for all objects for which this makes sense,
 as the power series
-[$../equations/special_functions_blurb1.jpeg],
+[equation special_functions_blurb1],
 with ['[^n! = 1x2x3x4x5...xn]] (and ['[^0! = 1]] by definition) being the factorial of ['[^n]].
 In particular, the exponential function is well defined for real numbers,
 complex number, quaternions, octonions, and matrices of complex numbers,
@@ -41,11 +41,11 @@
 The hyperbolic functions are defined as power series which
 can be computed (for reals, complex, quaternions and octonions) as:
 
-Hyperbolic cosine: [$../equations/special_functions_blurb5.jpeg]
+Hyperbolic cosine: [equation special_functions_blurb5]
 
-Hyperbolic sine: [$../equations/special_functions_blurb6.jpeg]
+Hyperbolic sine: [equation special_functions_blurb6]
 
-Hyperbolic tangent: [$../equations/special_functions_blurb7.jpeg]
+Hyperbolic tangent: [equation special_functions_blurb7]
 
 [: ['[*Trigonometric functions on R (cos: purple; sin: red; tan: blue)]]]
 [: [$../graphs/trigonometric.png]]
@@ -61,13 +61,13 @@
 here is defined on __form3 with range __form2.
 
 The inverse of the hyperbolic tangent is called the Argument hyperbolic tangent,
-and can be computed as [$../equations/special_functions_blurb15.jpeg].
+and can be computed as [equation special_functions_blurb15].
 
 The inverse of the hyperbolic sine is called the Argument hyperbolic sine,
-and can be computed (for __form5) as [$../equations/special_functions_blurb17.jpeg].
+and can be computed (for __form5) as [equation special_functions_blurb17].
 
 The inverse of the hyperbolic cosine is called the Argument hyperbolic cosine,
-and can be computed as [$../equations/special_functions_blurb18.jpeg].
+and can be computed as [equation special_functions_blurb18].
 
 [endsect]
 

Modified: sandbox/math_toolkit/libs/math/doc/laguerre.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/laguerre.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/laguerre.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -45,7 +45,7 @@
    
 Returns the value of the Laguerre Polynomial of order /n/ at point /x/:
 
-[$../equations/laguerre_0.png]
+[equation laguerre_0]
 
 The following graph illustrates the behaviour of the first few
 Laguerre Polynomials:
@@ -61,7 +61,7 @@
 Returns the Associated Laguerre polynomial of degree /n/
 and order /m/ at point /x/:
 
-[$../equations/laguerre_1.png]
+[equation laguerre_1]
    
    template <class T1, class T2, class T3>
    ``__sf_result`` laguerre_next(unsigned n, T1 x, T2 Ln, T3 Lnm1);
@@ -70,7 +70,7 @@
 polynomials, this function can be used to create a sequence of
 values evaluated at the same /x/, and for rising /n/.
 
-[$../equations/laguerre_2.png]
+[equation laguerre_2]
 
 For example we could produce a vector of the first 10 polynomial
 values using:
@@ -97,7 +97,7 @@
 polynomials, this function can be used to create a sequence of
 values evaluated at the same /x/, and for rising degree /n/.
 
-[$../equations/laguerre_3.png]
+[equation laguerre_3]
 
 For example we could produce a vector of the first 10 polynomial
 values using:

Modified: sandbox/math_toolkit/libs/math/doc/lanczos.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/lanczos.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/lanczos.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -59,17 +59,17 @@
 
 The Lanczos Approximation to the Gamma Function is given by:
 
-[$../equations/lanczos0.png]
+[equation lanczos0]
 
 Where S[sub g](z) is an infinite sum, that is convergent for all z > 0,
 and /g/ is an arbitrary parameter that controls the "shape" of the
 terms in the sum which is given by:
 
-[$../equations/lanczos0a.png]
+[equation lanczos0a]
 
 With individual coefficients defined in closed form by:
 
-[$../equations/lanczos0b.png]
+[equation lanczos0b]
 
 However, evaluation of the sum in that form can lead to numerical instability
 in the computation of the ratios of rising and falling factorials (effectively
@@ -79,11 +79,11 @@
 The Lanczos approximation is therefore often written in partial fraction form
 with the leading constants absorbed by the coefficients in the sum:
 
-[$../equations/lanczos1.png]
+[equation lanczos1]
 
 where:
 
-[$../equations/lanczos2.png]
+[equation lanczos2]
 
 Again parameter /g/ is an arbitrarily chosen constant, and /N/ is an arbitrarily chosen
 number of terms to evaluate in the "Lanczos sum" part.
@@ -107,19 +107,19 @@
 
 where B is an NxN matrix:
 
-[$../equations/lanczos4.png]
+[equation lanczos4]
 
 D is an NxN matrix:
 
-[$../equations/lanczos3.png]
+[equation lanczos3]
 
 C is an NxN matrix:
 
-[$../equations/lanczos5.png]
+[equation lanczos5]
 
 and F is an N element column vector:
 
-[$../equations/lanczos6.png]
+[equation lanczos6]
 
 Note than the matrices B, D and C contain all integer terms and depend
 only on /N/, this product should be computed first, and then multiplied
@@ -216,7 +216,7 @@
 by removing a factor of exp(g) from the denominator, and then dividing
 all the coefficients by exp(g):
 
-[$../equations/lanczos7.png]
+[equation lanczos7]
 
 This form is more convenient for calculating lgamma, but for the gamma
 function the division by /e/ turns a possibly exact quality into an

Modified: sandbox/math_toolkit/libs/math/doc/legendre.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/legendre.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/legendre.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -51,7 +51,7 @@
    
 Returns the Legendre Polynomial of the first kind:
 
-[$../equations/legendre_0.png]
+[equation legendre_0]
 
 Requires -1 <= x <= 1, otherwise returns the result of __domain_error.
 
@@ -72,13 +72,13 @@
    
 Returns the associated Legendre polynomial of the first kind:
 
-[$../equations/legendre_1.png]
+[equation legendre_1]
 
 Requires -1 <= x <= 1, otherwise returns the result of __domain_error.
 
 Negative values of /l/ and /m/ are handled via the identity relations:
 
-[$../equations/legendre_3.png]
+[equation legendre_3]
 
 [caution The definition of the associated Legendre polynomial used here
 includes a leading Condon-Shortley phase term of (-1)[super m]. This
@@ -112,7 +112,7 @@
 Returns the value of the Legendre polynomial that is the second solution
 to the Legendre differential equation, for example:
 
-[$../equations/legendre_2.png]
+[equation legendre_2]
 
 Requires -1 <= x <= 1, otherwise __domain_error is called.
 
@@ -129,7 +129,7 @@
 values evaluated at the same /x/, and for rising /l/. This recurrence
 relation holds for Legendre Polynomials of both the first and second kinds.
 
-[$../equations/legendre_4.png]
+[equation legendre_4]
 
 For example we could produce a vector of the first 10 polynomial
 values using:
@@ -156,7 +156,7 @@
 polynomials, this function can be used to create a sequence of
 values evaluated at the same /x/, and for rising /l/.
 
-[$../equations/legendre_5.png]
+[equation legendre_5]
 
 For example we could produce a vector of the first m+10 polynomial
 values using:

Modified: sandbox/math_toolkit/libs/math/doc/lgamma.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/lgamma.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/lgamma.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -26,7 +26,7 @@
 
 The [@http://en.wikipedia.org/wiki/Gamma_function lgamma function] is defined by:
 
-[$../equations/lgamm1.png]
+[equation lgamm1]
 
 The second form of the function takes a pointer to an integer,
 which if non-null is set on output to the sign of tgamma(z).
@@ -131,19 +131,19 @@
 The generic version of this function is implemented by combining the series and
 continued fraction representations for the incomplete gamma function:
 
-[$../equations/lgamm2.png]
+[equation lgamm2]
 
 where /l/ is an arbitrary integration limit: choosing [^l = max(10, a)]
 seems to work fairly well. For negative /z/ the logarithm version of the
 reflection formula is used:
 
-[$../equations/lgamm3.png]
+[equation lgamm3]
 
 For types of known precision, the __lanczos is used, a traits class
 `boost::math::lanczos::lanczos_traits` maps type T to an appropriate
 approximation. The logarithmic version of the __lanczos is:
 
-[$../equations/lgamm4.png]
+[equation lgamm4]
 
 Where L[sub e,g][space] is the Lanczos sum, scaled by e[super g].
 
@@ -199,13 +199,13 @@
 a new summation that can be also be fed into log1p. Crucially, all of the
 terms tend to zero, as /z -> 1/:
 
-[$../equations/lgamm5.png]
+[equation lgamm5]
 
 The C[sub k][space] terms in the above are the same as in the __lanczos.
 
 A similar rearrangement can be performed at /z = 2/:
 
-[$../equations/lgamm6.png]
+[equation lgamm6]
 
 [endsect][/section:lgamma The Log Gamma Function]
 

Modified: sandbox/math_toolkit/libs/math/doc/math.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/math.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/math.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -12,6 +12,15 @@
     [/last-revision $Date$]
 ]
 
+[template equation[name] '''<inlinemediaobject>
+<imageobject role="html">
+<imagedata fileref="../equations/'''[name]'''.png"></imagedata>
+</imageobject>
+<imageobject role="print">
+<imagedata fileref="../equations/'''[name]'''.svg"></imagedata>
+</imageobject>
+</inlinemediaobject>''']
+
 [include html4_symbols.qbk] [/ just for testing]
 [/include latin1_symbols.qbk] [/ just for testing]
 [include common_overviews.qbk][/ overviews that appear in more than one place!]

Modified: sandbox/math_toolkit/libs/math/doc/pdf/math.pdf
==============================================================================
Binary files. No diff available.

Modified: sandbox/math_toolkit/libs/math/doc/powers.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/powers.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/powers.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -224,7 +224,7 @@
    template <class T1, class T2, class ``__Policy``>
    ``__sf_result`` hypot(T1 x, T2 y, const ``__Policy``&);
    
-__effects computes [$../equations/hypot.png]
+__effects computes [equation hypot]
 in such a way as to avoid undue underflow and overflow.
 
 The return type of this function is computed using the __arg_pomotion_rules
@@ -232,7 +232,7 @@
 
 [optional_policy]
 
-When calculating [$../equations/hypot.png] it's quite easy for the intermediate terms to either
+When calculating [equation hypot] it's quite easy for the intermediate terms to either
 overflow or underflow, even though the result is in fact perfectly representable.
 
 [h4 Implementation]
@@ -244,7 +244,7 @@
 
 Otherwise the result is given by:
 
-[$../equations/hypot2.png]
+[equation hypot2]
 
 [endsect]
 

Modified: sandbox/math_toolkit/libs/math/doc/relative_error.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/relative_error.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/relative_error.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -19,7 +19,7 @@
 
 Returns the relative error between /a/ and /v/ using the usual formula:
 
-[$../equations/error1.png]
+[equation error1]
 
 In addition the value returned is zero if:
 

Modified: sandbox/math_toolkit/libs/math/doc/roots.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/roots.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/roots.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -94,7 +94,7 @@
 [h4 Newton Raphson Method]
 Given an initial guess x0 the subsequent values are computed using:
 
-[$../equations/roots1.png]
+[equation roots1]
 
 Out of bounds steps revert to bisection of the current bounds.
 
@@ -105,7 +105,7 @@
 
 Given an initial guess x0 the subsequent values are computed using:
 
-[$../equations/roots2.png]
+[equation roots2]
 
 Over-compensation by the second derivative (one which would proceed
 in the wrong direction) causes the method to
@@ -120,7 +120,7 @@
 
 Given an initial guess x0 the subsequent values are computed using:
 
-[$../equations/roots3.png]
+[equation roots3]
 
 Over-compensation by the second derivative (one which would proceed
 in the wrong direction) causes the method to
@@ -136,7 +136,7 @@
 Lets suppose we want to find the cube root of a number, the equation we want to
 solve along with its derivatives are:
 
-[$../equations/roots4.png]
+[equation roots4]
 
 To begin with lets solve the problem using Newton Raphson iterations, we'll
 begin be defining a function object that returns the evaluation of the function

Modified: sandbox/math_toolkit/libs/math/doc/series.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/series.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/series.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -74,7 +74,7 @@
 
 Let's suppose we want to implement /log(1+x)/ via its infinite series,
 
-[$../equations/log1pseries.png]
+[equation log1pseries]
 
 We begin by writing a small function object to return successive terms
 of the series:

Modified: sandbox/math_toolkit/libs/math/doc/sinc.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/sinc.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/sinc.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -12,14 +12,14 @@
 The [@http://mathworld.wolfram.com/SincFunction.html Sinus Cardinal family of functions]
 (indexed by the family of indices [^a > 0])
 is defined by
-[$../equations/special_functions_blurb20.jpeg];
+[equation special_functions_blurb20];
 it sees heavy use in signal processing tasks.
 
 By analogy, the
 [@http://mathworld.wolfram.com/SinhcFunction.htm Hyperbolic Sinus Cardinal]
 family of functions
 (also indexed by the family of indices [^a > 0]) is defined by
-[$../equations/special_functions_blurb22.jpeg].
+[equation special_functions_blurb22].
 
 These two families of functions are composed of entire functions.
 

Modified: sandbox/math_toolkit/libs/math/doc/spherical_harmonic.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/spherical_harmonic.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/spherical_harmonic.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -43,7 +43,7 @@
    
 Returns the value of the Spherical Harmonic Y[sub n][super m](theta, phi):
 
-[$../equations/spherical_0.png]
+[equation spherical_0]
 
 The spherical harmonics Y[sub n][super m](theta, phi) are the angular
 portion of the solution to Laplace's equation in spherical coordinates
@@ -84,7 +84,7 @@
    
 Returns the real part of Y[sub n][super m](theta, phi):
 
-[$../equations/spherical_1.png]
+[equation spherical_1]
 
    template <class T1, class T2>
    ``__sf_result`` spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi);
@@ -94,7 +94,7 @@
    
 Returns the imaginary part of Y[sub n][super m](theta, phi):
 
-[$../equations/spherical_2.png]
+[equation spherical_2]
 
 [h4 Accuracy]
 

Modified: sandbox/math_toolkit/libs/math/doc/tgamma.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/tgamma.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/tgamma.qbk 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -32,7 +32,7 @@
   
 Returns the "true gamma" (hence name tgamma) of value z:
 
-[$../equations/gamm1.png]
+[equation gamm1]
 
 [$../graphs/gamma.png]
 
@@ -155,7 +155,7 @@
 The generic version of the `tgamma` function is implemented by combining the series and
 continued fraction representations for the incomplete gamma function:
 
-[$../equations/gamm2.png]
+[equation gamm2]
 
 where /l/ is an arbitrary integration limit: choosing [^l = max(10, a)]
 seems to work fairly well.
@@ -166,15 +166,15 @@
 
 For z in the range -20 < z < 1 then recursion is used to shift to z > 1 via:
 
-[$../equations/gamm3.png]
+[equation gamm3]
 
 For very small z, this helps to preserve the identity:
 
-[$../equations/gamm4.png]
+[equation gamm4]
 
 For z < -20 the reflection formula:
 
-[$../equations/gamm5.png]
+[equation gamm5]
 
 is used. Particular care has to be taken to evaluate the `z * sin([pi][space] * z)` part:
 a special routine is used to reduce z prior to multiplying by [pi][space] to ensure that the

Modified: sandbox/math_toolkit/libs/math/doc/win32_nmake.mak
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/win32_nmake.mak (original)
+++ sandbox/math_toolkit/libs/math/doc/win32_nmake.mak 2007-09-27 06:40:55 EDT (Thu, 27 Sep 2007)
@@ -4,7 +4,7 @@
 BOOST=c:/data/boost/boost/trunk
 FO=C:/Progra~1/xep/xep.bat
 COMMON_XSL_PARAM=--stringparam admon.graphics "1" --stringparam body.start.indent "0pt" --stringparam chunk.first.sections "1" --stringparam chunk.section.depth "10" --stringparam fop.extensions "0" --stringparam generate.section.toc.level "10" --stringparam html.stylesheet "../../../../../../trunk/doc/html/boostbook.css" --stringparam navig.graphics "1" --stringparam page.margin.inner "0.5in" --stringparam page.margin.outer "0.5in" --stringparam paper.type "A4" --stringparam toc.max.depth "4" --stringparam toc.section.depth "10" --stringparam xep.extensions "1"
-PDF_XSL_PARAM=--stringparam admon.graphics.extension ".svg" --stringparam admon.graphics.path "../html/images/"
+PDF_XSL_PARAM=--stringparam admon.graphics.extension ".svg" --stringparam use.role.for.mediaobject 1 --stringparam preferred.mediaobject.role print --stringparam admon.graphics.path "../html/images/"
 HTML_XSL_PARAM=
 PROJECT_NAME=math
 
@@ -50,3 +50,5 @@
 
 
 
+
+


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk